Linux常用命令[笔记]

一、文件处理命令

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命令相同。


4tar 命令

    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 文件中。


你可能感兴趣的:(linux)