PART1 Linux常用命令集结啦!
一、目录处理命令
(一)ls 命令
ls命令用来显示目标列表,在Linux中是使用率较高的命令。
ls [选项] [文件或目录](list directory contents) |
选项: |
-a 显示所有文件,包括隐藏文件(--all) |
-l 显示详细信息(use a long listing format)注:ls -l 别名为 ll |
-d 查看目录属性(--directory)。仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表 |
-h 人性化显示文件大小(--human-readable) |
-i 显示inode(--incode) |
例子:
drwxr-xr-x |
第1位表示文件类型,-表示文件;d表示目录;l表示软链接文件 |
rwxr-xr-x每三位为一组,共三组,分别表示所有者、所属组、其他人对文件的权限;r,w,x分别表示读、写、执行权限 |
注:ls -d 显示的目录本身的信息,而不是目录下内容的信息。
(二)cd 命令
cd [目录] (change directory) |
简化操作: |
cd 或 cd ~ 进入当前用户的家目录 |
cd - 进入上次目录 |
cd .. 进入上一级目录 |
cd . 进入当前目录 |
补充:绝对路径和相对路径
Linux操作系统中存在着两种路径:绝对路径和相对路径。我们在访问文件或文件夹的时候,其实都是通过路径来操作的。两种路径在实际操作中能起到同等的作用。
在开始具体介绍之前,我们需要了解Linux的文件系统是谱系结构。在谱系的最上层是根文件夹。根文件夹由“/”来表示。根系下面有孩子文件夹,孩子的下面有孙子文件夹,以此类推。所有的文件就包含在这些文件夹里面。
绝对路径永远都是相对于根文件夹的。它们的标志就是第一个字符永远都是“/”。
相对路径永远都是相对于我们所处的文件夹位置。它们的第一个字符没有“/”。
下面是图例:
第一行:我们运行pwd(print working directory)来确认我们所处于的文件夹位置。
第四行:我们在相对路径下运行ls(list)。Document就在我们所处于的文件夹里面。这条命令的结果会随着我们所处的不同位置而有所不同。如果我们有另一个用户叫做Bob,当我们在Bob的房子文件夹下,我们就得到在Bob 房子文件夹下的Document文件夹下的所有文件了。
第七行:我们在绝对路径下运行ls。无论我们所处在什么路径下,我们得到的结果都会是一样的。
(三)pwd 命令
pwd (print working directory)命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。
(四)mkdir 命令
mkdir命令用来创建目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
mkdir [选项] [目录名](make directories) |
选项: |
-p 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录(--parents ) |
(五)cp 命令
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。一般使用cp -a
cp [选项] [原文件或目录] [目标目录](copy) |
选项: |
-r 复制目录(--recursive) |
-p 连带文件属性复制(preserve)即保留源文件或目录的属性,包括时间 |
-d 若原文件是链接文件,则复制链接属性 |
-a 相当于-rpd(--archive) |
例子:
(六)mv 命令
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
mv [原文件或目录][目标目录](move) |
例如:mv japan/ /temp/japan1 #将japan剪切到temp目录下并改名为japan1
mv japan japan1 #将当前目录的japan重命名为japan1
(七)rm 命令
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
rm [选项][文件或目录](remove) |
选项: |
-r 删除目录 |
-f 强制删除文件或目录 |
二、Linux链接命令 ln
ln命令用来为文件创建链接,连接类型分为硬链接和符号链接(软链接)两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项。
注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。
ln [原文件][目标文件] |
选项: |
-s 创建软链接 |
补充:
硬链接:同一个文件的两个接入口。将原文件删除后硬链接仍能使用;
软链接:类似Windows快捷方式。将原文件删除后软链接不能使用。
三、搜索命令
(一)locate 文件搜索命令
locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate 文件名 |
#在后台数据库中按文件名搜索,搜索速度更快 |
/var/lib/mlocate或者locatsdb(该名称不确定) |
#locate命令所搜索的后台数据库 |
updatedb |
#更新数据库 |
补充:
locate不能搜索temp目录
因为搜索遵循配置文件的设置。
(二)whereis与which 命令搜索命令
1. whereis 命令
搜索命令所在位置及帮助文档所在位置。
whereis [选项] [命令名] |
选项: |
-b 只查找可执行文件所在位置(--binaries) |
-m 只查找帮助文档的位置(--manuals) |
-s 只查找源代码文件的位置(--source) |
例子:
2.which 命令
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which [选项] [命令名] |
例子:
补充:
which是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
(三)find 命令
find [搜索范围] [搜索规则] [搜索后的操作] |
#搜索文件 |
find 常用用法:
1. -name :根据文件名进行查找,区分大小写精确查找。 |
2. -iname:根据文件名查找,不区分大小写。 |
3. 通配符进行模糊搜索 |
通配符“*”:通配任意内容 |
通配符”?”:通配任意一个字符 |
通配符”[]”:通配括号里面的任意一个字符,注意[]里面的内容会被解析成单个字符 |
例子:
注:与上例比较得知,空不为单字符,所以不能查找“file”文件。
4. 根据文件的时间戳信息查找文件 |
在根据时间戳信息查找的时候,所有的time都是以天为单位,min都是以分钟为单位。+n表示n以前,-n表示n以内。 |
例子:
5. 根据文件大小查找文件:-size |
find pathname -size +n #表示大于n字节的文件 |
find pathname -size -n #表示小于n字节的文件 |
find pathname -size n #表示等于n字节的文件 |
例子:
(四)grep文本搜索命令
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
例子:
例子:
四、帮助命令
(一)man命令
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
man [选项] [参数] |
选项: |
-a 在所有的man帮助手册中搜索 |
-f 等价于whatis指令,显示给定关键字的简短描述信息 |
-P 指定内容时使用分页程序 |
-M 指定man手册搜索的路径 |
例子:
(二)其他帮助命令
1. 命令 --help 获取命令选项的帮助
2. help shell内部命令,例如:help cd
3. info 详细命令帮助
五、关机与重启命令
(一) shutdown命令(较安全,自动保存数据)
shutdown [选项] 时间 |
选项: |
-c:取消前一个关机命令 |
-h:关机 |
-r:重启 |
例子:
shutdown -c now #立刻关机
shutdown -r now #立刻关机重启
shutdown -r 05:30 #05:30时刻重启,但此时已不能输入命令
shutdown -r 05:30 & #05:30时刻重启,不妨碍输入命令
(二)其它关机命令(不安全)
halt
poweroff
init 0
(三)其它重启命令
reboot
init6
(四)退出账户登录
logout