Linux常见目录及命令介绍

一、Linux中常用的目录介绍:
     /        -根目录
     /bin    -命令保存目录(普通用户亦可读取的命令)
     /boot    -启动目录,启动相关文件
     /dev    -设备文件保存目录
     /etc    -配置文件保存目录
     /home    -普通用户家目录
     /lib    -系统库保存目录
     /mnt    -系统挂载目录
     /media    -挂载目录
     /root    -超级用户家目录
     /tmp    -临时目录
     /sbin    -命令保存目录(仅超级用户使用)
     /proc    -直接写入内存,禁止操作,其保存的是内存的挂载点
     /sys    -直接写入内存(同上)
     /usr    -系统软件资源目录
         /usr/bin/    -系统命令(普通用户)
         /usr/sbin    -系统命令(超级用户)
     /var    -系统相关文档内容
二、Linux中常用的命令汇总
     1. Linux命令基本格式
         命令提示符:[root@localhost ~]#    - [username@hostname currentDirectory]userChar
     [用户-root @ 主机名-localhost 当前目录-root家(home)]user标识-root(标识$-普通用户)  pwd    -显示当前目录
     命令基本格式:命令 [选项] [参数]
         NOTE:有些命令的使用并不遵循此格式,且当有多个选项时,可以写在一起;简化选项(-)与完整选项(--),如 -a == --all
     查询指定目录内容:ls    若不加参数则表示显示当前目录内容
         -a    显示所有文件,包括隐藏文件
         -d    查看目录属性
         -l    显示详细信息:
         -h    人性化显示文件大小
         -i    显示inode
         例:
             [root@DZH-Linux ~]# ls -l
             总用量 44
             -rw-r--r--. 1 root root 25213 9月  27 10:18 install.log
             ...
             [root@DZH-Linux ~]# ls -lh
             总用量 44K
             -rw-r--r--. 1 root root  25K 9月  27 10:18 install.log           
             注释:
             -文件类型(一共7种类型,常用的有三种:-文件 d目录 |软链接文件)
             权限:r读 w写 x执行
             权限分类:
             rw-            r--            r--
             u所有者        g所属组        o其他人
     2. 文件处理命令
         2.1 文件/目录处理命令
             mkdir -p [目录名]
                 make directory    -p 递归创建,即若所创建目录是分级的且最终目录所涉及的上级不存在,需要此选项递归创建所有关联目录
             cd [目录]    cd-change directory
                 cd ~    -进入当前用户hone目录
                 cd         -进入当前用户hone目录
                 cd -    -进入上次目录
                 cd ..    -进入上一级目录
                 cd .    -进入当前目录
                 NOTE:注意相对路径以及绝对路径的使用
             pwd        -print working directory    打印当前所在位置
             rmdir [目录名]    remove empty directory    只能删除空白目录,很少使用
             rm -rf [文件/目录]    remove
                 -r 删除目录(recursion)    -f 强制(force),忽略提示
             cp [选项] [源文件/目录] [目标...]    cp=copy
                 -r    复制目录
                 -p    连带文件属性
                 -d    若源文件是链接文件,则复制链接属性
                 -a    相当于 -pdr    目标copy与源完全一致,包括其各种属性(创建时间等)
                 NOTE: 若目标有另外的与源不同命名则为重命名copy的文件
                     [root@DZH-Linux ~]# cp -r /home/Japan/ /root/jpana
                     [root@DZH-Linux ~]# ls
                     anaconda-ks.cfg  install.log  install.log.syslog  jpana  sony
             mv [源文件/目录] [目标位置]    mv-move    剪切或重命名(移动到当前位置)
                 NOTE: 若目标有另外的与源不同命名则为重命名剪切的文件
             touch [文件名]    创建新文件
         2.2 文件链接命令
             ln -s [src] [dst]    s-soft ln-link生成链接文件
                 (1) 源目录[src]必须是绝对路径,目标目录[dst]可以是相对路径
                 (2) 创建软链接(符号链接),软连接仅保存了同名于原始文件的文件内存位置信息,删掉原始文件后,软连接失效。但在原始文件
                      的同一目录下创建一个同名的文件,软连接自动的又生效了,且指向了这个新创建的文件
                 (3) 可以跨分区创建软链接,可以对目录创建软链接
             ln [src] [dst]    - 创建硬链接
                 (1) 不需要参数选项,源目录[src]可以是相对路径
                 (2) 硬链接与原始文件完全相同,他们拥有相同的iNode(文件的唯一标识),内存大小。当删除原始文件时,硬链接文件仍可用
                 (3) 不能跨分区创建硬链接,不能对目录创建硬链接
                 PS: 小命令 - echo 字符串 > file        - 擦除文件file的内容并写入该字符串
                              echo 字符串 >> file    - 拼接文件file的内容,换行写入该字符串
         2.3 文件内容查看命令
             cat    file_name    - 查看文件所有内容,若文件内容较多,则屏幕仅一闪而过直至显示最后一页内容
                 + -n
                 + -b
                 + -T
             more    - more命令会显示文本文件的内容,但会在显示每页数据之后停下来,可以通过enter键按行滚动,space键按页滚动
             less    - “less is more”,more命令的升级版。除了enter键和space键,less命令还能够识别上下键按行滚动
             head    - head命令,顾名思义,会显示文件开头那些行的内容。默认情况下,它会显示文件前10行的文本
             tail    - tail命令会显示文件最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末尾10行
                 + -n 数字
                 + -数字        - 显示首部/末尾num行
             tail -f        - -f参数是tail命令的一个突出特性。它允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活动状态,
                 并不断显示添加到文件中的内容。这是实时监测系统日志的绝妙方式
     3. 搜索命令
         3.1 文件搜索命令
             locate file_name        - 按配置文件/etc/updatedb.conf的筛选规则,在后台数据库按文件名搜索,速度较快,但只能搜文件名
                 /var/lib/mlocate/mlocate.db即为locate命令所搜索的数据库,一天更新一次,所以若刚创建的文件需要搜索,则需要强制
                 刷新数据库    - updatedb
             find [搜索范围] [搜索条件] file_name        find在整个系统中搜索符合条件的文件名,比较耗费资源。可使用通配符,为完全匹配
                 例:find / -name test    - 在/目录下搜索文件名为test的文件
                 通配符:
                     (1) *    匹配任意内容
                     (2) ?    匹配任意一个字符
                     (3) []    匹配任意一个中括号内的字符
                 若使用通配符,则文件名应加双引号""
                 例:find / -name "t?s*[st]"        - 第二个字符任意,最后一个字符是s或t
                 find / -iname test    -iname不区分大小写
                 find / -user root    -搜索/目录下root用户的所有文件
                 find / -nouser test    -搜索/目录下没有所有者的所有文件(可能是垃圾文件)
                 例:find /var/log/ -mtime +10    -查找10天前修改过的文件
                     -10 10天内修改过的文件
                     10    第前10天修改过的文件
                     +10    10天前修改过的文件
                     atime    文件访问时间
                     ctime    改变文件属性
                     mtime    修改文件内容
                 例:find / -size 10k    -搜索/目录下文件大小是10k的文件
                     -10k    < 10k
                     10k        = 10k
                     +10k    > 10k
                     NOTE:千字节小写k,兆字节大写M,若不加单位则按扇区搜索(一个扇区512B)
                 例:find / -inum 234567    -搜索/目录下iNode节点是234567的文件
                 例:find / -size +10k -a -size -50k    -搜索/目录下文件大小>10k且<50k的文件
                     -a and    -o or
                     若要对搜索结果进行查看,则可以拼接第二条命令:
                     find /root/ -size +5k -a -size -70k -exec ls -l {} ;    -{} 为exec的标准格式
         3.2 命令搜索命令
             whereis        - 列出命令位置与其帮助文档的位置
                 - b 仅列出命令位置        - m 仅列出命令帮助文档的位置
             witch    - 列出命令位置与其别名
                 PS:由于cd是shell的内置命令非外部命令,因此,whereis和witch均不能搜索出其位置信息
                 $PATH 环境变量:定义的是系统命令的搜索路径,若在该路径下均为发现所使用的命令,则报错。(echo $PATH    列出环境变量)
         3.3 字符串搜索命令
             grep [选项] 字符串 file_name    -在文件file_name中搜索包含目标字符串的行(不完全匹配,正则表达式)
                 -i 不区分大小写  -v 不包含目标字符串的行  -n 显示所在行号
                 例:grep "it" install.log.syslog    -在文件install.log.syslog搜索包含"it"的行信息

         常用搜索命令举例:

  • find / -name "*.h" | xargs grep "#define WNOHANG" [-C 5 (包含上下文)]

     4. 帮助命令
         4.1 man
    man cmd_name
                 例:man ls  -查看ls相关的帮助文档
             man -f cmd 等价于:whatis cmd_name  -查看命令拥有哪些级别的帮助,进而可指定查看特定的帮助等级文档
                 例:man -f yum
                     man 8 yum
             man -k cmd_name 等价于apropos cmd_name  -查看与cmd关键字相关的所有帮助信息
                 例:man -k yum
         4.2 help
             help cmd_name (shell内部cmd)
             whereis cmd_name    -确定是否是shell内部cmd
             help cmd_name  -获取内cmd帮助信息
         4.3 info cmd_name
             -回车    -进入子帮助页面(带有*号标记)
             -u    -进入上层页面
             -n    -进入下一个帮助小节
             -p    -进入上一个帮助小节
             -q    -退出
         PS: cmd -h/--help    -[选项帮助]
     5. 压缩、解压缩与归档命令
         5.1 zip        -Window/Linux通用的压缩工具
             zip 压缩文件名 源文件        -压缩文件
             zip -r 压缩文件名 源目录    -压缩文件夹
             unzip    -解压缩
         5.2 gzip    -Linux上最流行的压缩工具
             gzip 源文件        -自动生成.gz扩展名的压缩文件同时删除源文件
             gzip -c 源文件 > 压缩文件名        -将源文件内容输出到压缩文件
             gzip -r 目录    -压缩目录
             gunzip .gz压缩文件    -解压文件
         5.3 bzip2
             bzip2 源文件    -压缩文件,不保留源文件
             bzip2 -k 源文件    -压缩文件,保留源文件
                 NOTE: bzip2不支持压缩目录
             bzip2 -d 压缩文件    -解压缩文件,不保留压缩文件
             bzip2 -dk 压缩文件    -解压缩文件,保留压缩文件
             bunzip2 压缩文件    -解压缩文件,不保留压缩文件
             bunzip2 -k 压缩文件    -解压缩文件,保留压缩文件
         5.4 tar        -文件归档命令
             命令格式:tar function [options] object1 object2 ...
             例:tar -cvf /home/work        -在当前目录下创建home目录下work文件夹的归档文件
                 -c(function)     -创建一个新的tar归档文件
                 -v(option)        -在处理文件时显示文件
                 -f(option)        -输出结果到文件或设备file
             例:tar -tvf work    -列出当前目录下tar归档文件work的内容并不提取
                 -t(function)    -列出已有tar归档文件的内容
             例:tar -xvf work    -在当前目录下提取归档文件work的内容
                 -x(function)    -从已有tar归档文件中提取文件
         5.5 .tar.gz/.tar.bz2
             例:tar -zcvf 压缩包名.tar.gz 源文件    -在当前目录下将源文件归档为.tar并压缩为.gz
             例:tar -jcvf 压缩包名.tar.bz2 源文件    -将源文件归档为.tar并压缩为.bz2
             例:tar -zxvf 压缩包名.tar.gz    -解压缩文件.tar.gz并提取其内容
             例:tar -jxvf 压缩包名.tar.bz2    -解压缩文件.tar.bz2并提取其内容
             例:tar -ztvf 压缩包名.tar.gz    -仅查看解压缩文件.tar.gz的内容不解压
     6. 软件包管理命令
         6.1 yum        -Red Hat系的软件管理命令

   (一个插曲,yum安装完成后在使用过程可能会有这样的错误提示:“ Unable to read consumer identity”。解决方法如下:

    Linux常见目录及命令介绍

    参考:https://www.aliyun.com/jiaocheng/167555.html

             例:yum list installed    - 列出所有已安装的软件,不过信息过多则会一闪而过,不方便查看
                    yum list installed > file_name    - 将软件安装信息导入file_name,这样可以通过文件file_name来查看软件安装信息
             yum list package_name    -显示软件是否安装以及可以获取该软件的源
             yum repolist    -列出软件仓库源
             yum list updates    -列出所有已安装包的可用更新
             yum update    -更新所有包
             yum update package_name        -更新指定包
             yum install package_name    -安装软件
             yum remove package_name        -只删除软件包而保留配置文件和数据文件
             yum erase package_name        -删除软件以及与其相关的所有文件
     7. 关机和重启命令
         7.1 shutdown [选项] 时间    -安全关机命令,系统关机前会做相应的保存信息等安全操作
                 -c    -取消前一个关机命令
                 -h    -关机
                 -r    -重启
             例:shutdown -r 05:05    -现在起到05:05重启,单系统会卡在此命令处
                    shutdown -r 05:05 &    -现在起到05:05重启,终端退出此命令并等待重启
         7.2 其他关机命令
             halt    poweroff    init 0    -不安全的关机命令
                 PS: 系统运行级别
                     0 -关机        1 -单用户    2 -不完全单用户(不含NFS服务)
                     3 -完全多用户    4 -未分配    5 -图形界面        6 -重启
         7.3 其他重启命令
             reboot    -安全的重启命令
             init 6    -不安全的重启命令
         7.4 退出登录    -针对远程登录用户
             logout    -退出登录,若未使用此命令,会造成当前用户未被系统释放。这对于多用户操作的系统来说影响不大,但对于只允许
             少数用户操作的系统就会造成资源的浪费

  (部分参考:http://www.imooc.com/video/3472)

     8. 终端快捷键

   编辑命令

  • Ctrl + a/Home 切换到命令行开始
  • Ctrl + e/End 切换到命令行末尾
  • Ctrl + l  清除屏幕内容,效果等同于 clear
  • Ctrl + u 剪切清除光标之前的内容
  • Ctrl + k 剪切清除光标之后的内容
  • Ctrl + y 粘贴刚才所删除的字符
  • Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)
  • Ctrl + c 终止命令
  • Ctrl + o 重复执行命令
  • Ctrl + d 退出 shel ,logout
  • Ctrl + z 转入后台运行,但在当前用户退出后就会终止;bg --查看后台运行程序;fg 序号 --调到前台
  • Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符
  • Alt + t 交换当前与以前单词的位置
  • Alt + d 剪切光标之后的词
  • Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
  • Ctrl+(x u) 按住 Ctrl 的同时再先后按 x 和 u,撤销刚才的操作
  • Ctrl+s 锁住终端
  • Ctrl+q 解锁终端
  • !! 重复执行最后一条命令
  • history 显示你所有执行过的编号+历史命令。这个可以配合!编辑来执行某某命令
  • !$ 显示系统最近的一条参数(如cat /etc/sysconfig/network-scripts/ifconfig-eth0命令之后,可以直接vim !$进行编辑)

   光标移动

  • Ctrl – a :移到行首
  • Ctrl – e :移到行尾
  • Ctrl – b :往回(左)移动一个字符
  • Ctrl – f :往后(右)移动一个字符
  • Alt – b :往回(左)移动一个单词
  • Alt – f :往后(右)移动一个单词
  • Ctrl – xx :在命令行尾和光标之间移动
  • M-b :往回(左)移动一个单词
  • M-f :往后(右)移动一个单词