一、文件处理命令
1. ls 命令
ls 命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。
选项:
-a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录);
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来,等价于 ll命令;
-d 将目录象文件一样显示,而不是显示其下的文件;
-h 以容易理解的格式列出文件大小 (例如 1K 234M 2G);
-i 印出每个文件的 inode 号。
2. pwd 命令
pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
选项:
-P 显示出实际路径,而非使用连接(link)路径。
3. cd 命令
cd 命令用来切换目录。
参数:
不带选项和参数 回到主目录;
~ 回到主目录;
. 进入当前目录;
.. 进入上一级目录;
- 回到上次所在目录;
!$ 把上个命令的参数作为输入。
4. mkdir 命令
mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
选项:
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
5. rmdir 命令
rmdir 命令用来删除空目录,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
参数:
目录名
6. rm 命令
rm 命令用来删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
选项:
-r 将参数中列出的全部目录和子目录均递归地删除;
-f 强制删除,不进行确认提示。
7. cp 命令
cp 命令用来复制文件或者目录,一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。
选项:
-r or -R 复制目录及目录内的所有项目;
-p 保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等;
-d 若源文件是链接文件,则复制文件链接属性;
-a 为每个已存在的目标文件创建备份,相当于 -pdr。
参数:
源文件/目录名 目标文件/目录名
若没有目标文件/目录名,则使用源文件/目录名。
8. mv 命令
mv 命令用来删除空目录,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
参数:
源文件/目录名 目标文件/目录名
若源文件/目录与目标文件/目录在同一父级目录下,则为修改源文件/目录的名称。
二、链接命令
1. ln 命令
ln 命令用来为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
选项:
-s 创建软链接(符号链接)。
参数:
源文件 目标文件
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件分区中才能创建
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件分区 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
三、文件搜索命令
1. locate 命令
locate 命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。其中当使用locate locate命令后可以查看到对应命令查询的数据库(一般为mlocate),且可以使用updatedb命令更新对应的数据库。
参数:
文件名
2. updatedb 命令
updatedb 命令用于主要用来手动更新建立文件索引的数据库,这个数据库一般是通过crontab自动完成的。其中相关更新的配置储存在 /etc/updatedb.conf 文件中。其中 PRUNE_BIND_MOUNTS = "yes" 指开启搜索限制;PRUNENAMES 的值指搜索时,不搜索的文件后缀名;PRUNEPATHS的值指搜索时,不搜索的文件路径。
3. whereis 命令
whereis 命令是用来定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
选项:
-b 定位可执行文件;
-m 定位帮助文件;
-s 定位源代码文件。
4. which 命令
which 命令是用来在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
选项:
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
-p 与-n参数相同,但此处的包括了文件的路径。
5. whoami 命令
whoami 命令是用来显示登录名。与使用命令 who 并指定 am i 不同,whoami 命令在有 root 用户权限时也有效,因为它不检查 /etc/utmp 文件。
6. who 命令
who 命令是用来得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。
7. whatis 命令
whatis 命令是用来查询目标命令的作用。
8. man 命令
man 命令是用来查询目标命令的操作手册与使用方法。
参数:
-f:同命令whatis ,将在whatis数据库查找以关键字开同的帮助索引信息;
-k:同命令apropos 将搜索whatis数据库,模糊查找关键字。
9. find 命令
find 命令是用来在目录结构中搜索文件,并且在查找时支持通配符匹配规则,以及执行指定的操作。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
选项:
-name 按照文件名查找文件,大小写敏感;
-iname 按照文件名查找文件,且不区分大小写;
-user 按照文件所有者来查找文件;
-nouser 查找无有效属主的文件,即该文件的所有者在/etc/passwd中不存在
-mtime -n/+n/n 按照文件内容的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前,n表示文件更改时间为n天;
-ctime -n +n 按照文件属性的更改时间来查找文件;
-atime -n +n 按照文件的访问时间来查找文件;
-size -n/+n/n(单位) 按照文件大小查找文件, -n表示文件大小小于n,+n表示文件大小大于n,n表示文文件大小等于n,若n后不带大小的单位则n个扇区的大小;
-inum 按照文件inode节点查找文件;
-a and逻辑与,两个条件都满足;
-o or逻辑或,两个条件任意满足一个。
参数:
pathname find命令所查找的目录路径。例如用 . 来表示当前目录,用 / 来表示系统根目录;
-exec find命令对匹配的文件执行该参数所给出的shell命令,且命令以 {} \; 结尾;
10. grep 命令
grep命令是用来在文本中进行搜索,能使用正则表达式搜索文本,并把匹 配的行打印出来。
参数:
-v:显示不包含匹配文本的所有行;
-i:不区分大小写(只适用于单字符)。
pattern正则表达式主要参数:
\:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$:匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
* :有字符,长度可以为0。
四、帮助命令
1. help 命令
help命令是用来获取shell内建命令的帮助信息的帮助命令。
2. info 命令
info命令是用来查看Linux命令的info文档的帮助命令。
五、压缩与解压命令
1. zip 命令
zip命令是用来生成 .zip 格式的压缩命令;unzip命令是用来解压缩对应文件的命令。
参数:
-r:压缩目录;
2. gzip 命令
gzip命令是用来生成 .gz 格式的压缩命令,压缩同时会删除源文件;gunzip命令是用来解压缩对应文件的命令。
参数:
-r:压缩目录下所有子文件,但是不会压缩打包目录本身;
-c:将解压缩的内容输出到标准输出,原文件保持不变,配合 > 输出重定向命令可以实现不删除源文件的情况下生成.gz的压缩文件;
-d:解压缩文件,同gunzip命令相同。
3. bzip2 命令
bzip2命令是用来生成 .bz2 格式的压缩命令,该命令无法压缩目录;bunzip2命令是用来解压缩对应文件的命令。
参数:
-k:压缩时保留源文件,解压缩时保留压缩文件;
-d:解压缩文件,同bunzip2命令相同。
4. tar 命令
tar命令是用来生成文件和目录的档案
参数:
-c:建立新的档案文件;
-v:显示操作过程;
-f:指定打包后的文件名;
-x:解除打包档案文件;
-t:测试查看压缩打包后档案文件内的文件或目录;
-z:将打包后的档案文件执行gzip命令,压缩为 .tar.gz格式的文件;
-j:将打包后的档案文件执行bzip2命令,压缩为 .tar.bz2格式的文件;
-C:指定解压缩文件的路径位置,只能放在上述主参数后。
六、关机和重启命令
1. shutdown 命令
shutdown命令用来控制关闭或重启Linux系统。
参数:
-c:取消前一个关机或重启命令;
-h:关闭系统;
-r:重启系统
2. halt 命令
halt命令运行时若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代进行关机。
3. poweroff 命令
poweroff命令关机后会向电源管理系统(如果有的话)发送一则请求来关闭系统主电源。
4. reboot 命令
reboot命令用于快速重启系统。
5. init 命令
init命令用于控制系统运行级别。
参数:
0:关机;
1:单用户模式运行,多用于系统检测与修复;
2:不完全的多用户模式运行,不包含NFS;
3:完全的多用户模式运行;
4:未分配;
5:以图形界面运行;
6:重启系统。
6. ilogout 命令
logout命令用于用户正常退出登录的系统。
七、其他常用命令
1. fdisk 命令
fdisk命令用于。
参数:
-l:显示系统中已挂载的硬盘信息;
2. mount 命令
mount命令用于在系统中查询以挂载硬件或进行挂载操作;unmount命令用于卸载挂载操作。
参数:
-a:自动挂载 /etc/fstab 文件里面的配置;
-t:指定文件系统类型ext3,ext4,vfat(常用于u盘),iso9660(光盘);
-o:指定挂载的其他选项;
3. w 命令与who命令
w命令与who命令都是用于查看系统中登录的用户信息与系统信息,但w命令显示的信息较详细。
4. last命令
last命令用于查看系统中用户登录的历史信息记录,该记录默认保存与/var/log/wtmp 文件中。
5. lastlog命令
lastlog命令用于查看系统中所有用户登录的历史信息记录,该记录默认保存与/var/log/lastlog 文件中。