Linux(CentOS7)常用命令详解

目录

一.Linux树型目录结构

二.常用命令详解

2.1 ls 命令

2.1.1 ls -l命令

2.1.2 ls -a命令

2.2 stat命令

2.3 cd命令

2.4 pwd命令

2.5 which命令

2.6 touch命令

2.7 mkdir 命令

2.8 rmdir 命令

2.9 rm 命令

2.10 mv命令

2.11 cp命令

2.12 cat命令

2.13 more命令

2.14 less命令

2.15 locate 命令

2.16 find 命令

2.17 grep 命令

2.18 ln命令

2.19 wc 命令

2.20 od命令

2.21 du命令

2.22 df命令

2.23 gedit命令

2.24 管道命令

2.25 重定向

2.26 后台运行

2.27 awk命令


一.Linux树型目录结构

在详解常用命令之前,先对Linux的树型目录结构做个简单的了解,如下所示:

简单说明:

  • /      #根目录
  • /bin   #基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, cd等等。这个目录中的文件都是可执行的,一般的用户都可以使用。
  • /dev   #设备文件,比如声卡、磁盘、鼠标、键盘等。
  • /etc  #系统管理和配置文件
  • /etc/init.d   #启动配置文件和脚本,可在这里添加启动脚本。
  • /etc/rc.local   #用户添加启动项
  • /home  #用户主目录,比如用户user的主目录就是/home/user,可以用~user表示
  • /lib   #标准程序设计库存放路径,又叫动态链接共享库,作用类似windows里的.dll文件
  • /sbin  #超级管理命令,这里存放的是系统管理员使用的管理程序。
  • /tmp   #临时文件目录,有时用户运行程序的时候,会产生临时文件。 /tmp就用来存放临时文件的。
  • /root  #系统管理员的主目录
  • /mnt   #用来临时挂载其他的文件系统
  • /lost+found   #这个目录平时是空的,系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。
  • /media      #即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录
  • /proc  #虚拟文件目录,可直接访问这个目录来获取系统信息。
  • /var   #所有服务的登录文件或错误讯息档案(log files)都在 /var/log 里面
  • /boot  #包含Linux内核及系统引导程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个目录中。在一 般情况下,GRUB或LILO系统引导管理器也位于这个目录;
  • /usr   #最庞大的目录,要用到的应用程序和文件几乎都在这个目录,其中包含:
  1.   usr/bin     #众多的应用程序
  2.   /usr/sbin     #超级用户的一些管理程序
  3.   /usr/include  #Linux下开发和编译应用程序所需要的头文件
  4.   /usr/lib     #常用的动态链接库
  5.   /usr/share/man  #帮助文档
  6.   /usr/src     #源代码,Linux内核的源代码就放在/usr/src/Linux里
  7.   /usr/local/bin  #本地增加的命令
  8.   /usr/local/lib  #本地增加的库根文件系统

. :代表当前路径

.. :代表上一级目录

~ :代表用户目录路径

二.常用命令详解

2.1 ls 命令

ls是英文单词list的缩写.用来查看文件目录的属性。

  • 例如直接输入ls按回车,查看根目录的文件以及目录。

2.1.1 ls -l命令

  • ls -­l  l参数代表以列表的方式显示。

  •   #第一个字符d 代表这是一个目录文件。
  •   # ‐  代表普通文件
  •   # c  字符设备文件
  •   # b  块设备文件
  •   # p  管道文件
  •   # l  链接文件
  •   # s  socket文件
  • #后面的rwxr‐xr‐x字符,代表user、group、other对文件所拥有的权限,rwx代表该用户拥有读写执行的权限。r‐x
  • 代表同一组的用户拥有的读和执行权限,后一个r‐x代表其他用户拥有读和执行权限。
  • # 2代表文件硬链接的计数,表示该文件有两个硬链接。
  • # where 文件所属的用户名。
  • # where  文件所属的用户组。
  • # 4096 文件大小,单位字节。
  • # 6月 25 16:53  文件最后被修改的日期。
  • # Videos 文件名

2.1.2 ls -a命令

  • ls -a ­a参数代表all的意思,表示把所有的文件都罗列出来,包括隐藏文件,点号开头的在Linux中都表示隐藏文件。

 

ls ‐ld [filename] 代表只列出目录文件的属性。

2.2 stat命令 

查看文件的访问时间,修改时间等

访问时间,是指通过指令如cat、vi等来查看的文件的最近一次时间。更改时间,是指修改文件内容的最近一次时间。
改动时间,是指修改文件属性的最近一次时间。
注意:访问时间是内容更改后,第一次访问的时间,后面再次访问的时候访问时间不会改变

2.3 cd命令

cd 是 change directory的缩写,表示改变当前所在路径。

2.4 pwd命令

pwd 是英文print working directory 显示当前所在路径。

2.5 which命令

寻找可执行文件 ,并在PATH环境变量里面寻找

2.6 touch命令

将每个文件的访问及修改时间都更新为目前的时间。

如果文件不存在,则创建一个字节数为0的文件。

‐a           #只更新访问时间,不改变修改时间
‐c           #不创建不存在的文件
‐m           #只更新修改时间,不改变访问时间
‐r file      #使用文件file的时间更新文件的时间
‐t           #将时间修改为参数指定的日期,如:07081556代表7月8号15点56分

2.7 mkdir 命令

mkdir 是make directory的英文缩写。

创建目录DIRECTORY,可以一次创建多个。OPTION如果是­p,表示可以连同父目录一起创建。

2.8 rmdir 命令 

rmdir是remove directory的英文缩写。

删除空目录,可以一次删除多个。OPTION如果是­p,表示可以连同空的父目录一起删除。但是一旦父目录中还包含其他文件,则删除失败。

2.9 rm 命令

rm是remove的英文缩写。

可以用来删除普通文件,也可以用来删除目录,特别用来删除目录中嵌套有子目录的目录文件。
常用参数:

‐f  ‐‐force  #强制删除,不询问是否要删除。
‐r  ‐‐recursive  #递归删除,包括文件夹中的内容。

2.10 mv命令

mv是英文单词move的缩写。可以用来移动文件夹或者文件,也可以用来更改文件名。

mv file / #把文件file移动到根目录中

mv file file_bak #把文件file重命名为file_bak。

2.11 cp命令

cp是英文单词copy的缩写,表示拷贝文件。

  • 可以用来拷贝普通文件:

cp file file_bak #拷贝一份file为file_bak

  • 可以用来拷贝目录

cp dir dir_bak ‐r #拷贝一个目录dir为dir_bak, ‐r参数代表递归拷贝,把dir目录中的文件也拷贝过去

2.12 cat命令

cat英文单词concatenate连锁的缩写,用来查看文件内容,以及将几个文件连成一个文件,

  • 不填文件参数,默认的情况下是从标准输入中获取内容:

  • 查看文件: cat fileName

  • 将文件file1 file2连成file3文件

cat file1 file2 > file3

2.13 more命令 

more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,并且提示文件的百分比。

参数如下:

+num    #从第num行开始显示;
‐num    #定义每屏显示num行;

打开之后的动作:

2.14 less命令

less工具也是对文件或其它输出进行分页显示的工具

参数如下:

‐f    #强制打开文件,二进制文件显示时,不提示警告;
‐N    #在每行前输出行号;

打开之后的动作:

2.15 locate 命令

全盘寻找文件,文件名部分匹配,只要有包含该字符串的都罗列出来,这个指令查找速度很快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来更新。当我们建立好这个数据库后,就可以方便地来搜寻
所需文件了。

马上创建的文件没办法使用locate查找到:如果想马上更新可以使用一下指令:updatedb

2.16 find 命令

直接在全文件系统上搜寻,功能强大,速度慢。

格式:

find [path] [‐option] [ ‐print ‐exec ‐ok command ] {} ;

path:   #要执行查找的目录。
‐option: #查找的具体方法。
‐print: #find命令将匹配的文件输出到标准输出。
‐exec:  #find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ {} ;,注意{}和
;之间的空格。
‐ok:    #和‐exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令
之前,都会给出提示,让用户来确定是否执行。

find / ‐name filename   #在根目录里面搜索文件名为filename的文件
find /etc ‐name *s*     #在目录里面搜索带有s的文件
find /etc ‐name *S      #在目录里面搜索以s结尾的文件
find /etc ‐name s*      #在目录里面搜索以s开头的文件
find / ‐amin ‐10        #在系统中搜索最后10分钟访问的文件
find / ‐atime ‐2        #查找在系统中最后48小时访问的文件
find / ‐mmin ‐5         #查找在系统中最后5分钟修改过的文件
find / ‐mtime ‐1        #查找在系统中最后24小时修改过的文件
find / ‐ctime ‐1        #查找在系统中最后24小时被改变状态的文件
find / ‐user username   #查找在系统中属于用户username的文件
find / ‐group groupname  #groupname 查找在系统中属于groupname的文件
find / ‐empty           #查找在系统中为空的文件或者是文件夹
find / ‐inum 3          #查找inode号为3的文件
find / ‐type d          #查找为文件类型为文件夹的文件d为文件夹
f     #普通文件
d     #目录文件
l     #链接文件
b     #块设备文件
c     #字符设备文件
p     #管道文件
s     #socket文件

2.17 grep 命令

搜索内容中是否包含指定的字符串,并打印出该行。

常用参数有:

‐i    ‐‐ignore‐case   #忽略字符大小写的差别。
‐v                    #输出没有指定字符串的文件
‐c                    #只输出匹配行的计数。
‐R                    #连同子目录中所有文件一起查找。

2.18 ln命令

ln是英文单词link的缩写,用来创建链接的命令。
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬链接】
硬链接指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点,一般这种链接就是硬链接。

硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止“误删”。
如果有多个硬链接,只删除一个链接并不影响本身和其它的链接,只有当最后一个链接被删除后,文件的才会被正在删除。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
【软链接】
另外一种链接称之为符号链接(Symbolic Link),也叫软链接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。符号链接文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

  • 给flie文件创建一个硬链接

touch file
ln file file_hard

  • 给file文件创建一个软链接

touch file
ln ‐s file flie_soft

注意: 软链接的时候尽量使用绝对路径,避免由于链接文件移动后,造成文件失效。

2.19 wc 命令

Linux系统中的wc为英文Word Count的缩写,命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

  • 命令功能:

统计指定文件中的字节数、字数、行数,并将统计结果显示输出。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。

  • 命令参数:

‐c #统计字节数。
‐l #统计行数。
‐m #统计字符数。这个标志不能与 ‐c 标志一起使用。
‐w #统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
‐L #打印最长行的长度。

2.20 od命令

od是英文octal dump的缩写,功能是把文件用8进制或者其他的格式显示出来,通常用于查看特殊格式文件的内容,可以用来查看不可见字符。

2.21 du命令

du是英文Disk usage的缩写,表示计算某个目录在硬盘中所占的空间大小,默认情况下以kb为单位。通过递归统计每一个目录中所占用的空间大小。

常用参数如下:

2.22 df命令

df是英文Disk free的缩写,用来统计磁盘是使用情况。

2.23 gedit命令

gedit全称 GNU edit 是一个文本编辑器,类似windows里面的txt文本编辑器。编辑file文本。

2.24 管道命令

用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入。管道命令操作符是:”|”它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力.

2.25 重定向

在shell中,标准输入是0,标准输出是1,标准错误是2.
使用>表示重定向。1>表示标准输出重定向,2>表示标准错误重定向。默认情况下>表示输出重定向。

例如:

ls > list.txt   #ls的输出重定向到文件list.txt中。
find / ‐name “*.c” 2>/dev/null  #标准错误重定向到无底洞文件。
find / ‐name “*.c” 2>/dev/null  #标准错误重定向到无底洞文件。
find / ‐name “*.c” >/dev/null 2>&1  #标准输出、标准错误重定向到无底洞文件。

2.26 后台运行

Linux中可以使用&,让程序在后台运行。如:cat &

2.27 awk命令

awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

格式:awk [‐F field‐separator] ‘commands’ [input‐file(s)]

其中,commands 是真正awk命令,[­F 域分隔符]是可选的。 input­file(s) 是待处理的文件。
print 是awk打印指定内容的主要命令, $1 分割出来的第一段,$2分割出来的第二段,依次类推,$0代表所有
字段例如:

ls ‐l | awk ‘{print $1 “t” $2 “t” $3 “t” $4}’

将/proc/meminfo文件中的字段提取出来,并且在每个字段前面添加meminfo:

awk ‐F ‘:’ ‘{print “meminfo:” $1}’ /proc/meminfo

分类: Linux