ls命令:

    用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

语法:

    ls [选项] [文件名...]

常用选项:

    -a:列出目录中所有文件,包括以“.”开头的隐藏文件。

    -d:将目录名像其它文件一样列出,而不是列出它们的内容。(常见用法:ls -ld [目录名])

    -i:文件的左侧显示文件inode号(也叫序列号/索引号)

    -k:文件大小单位,还有-M、-h等

    -l:单行显示文件或目录的详细信息

    -R:递归列出全部目录的内容

    -s:显示文件和目录的大小,以区块为单位

    --color:指定是否使用颜色区别文件类别;默认为ls='ls --color=auto'

文件类型:

    我们可以使用ls -l命令查看,一般第一个字符为文件的类型,类型如下:

        -:普通文件,包括纯文本文件、二进制文件和数据文件

        d:目录文件

        l:链接文件,类似Windows下的快捷方式

        b:块设备文件,如硬盘、光驱等

        c:字符设备文件,如鼠标、键盘等串行接口设备

        s:socket数据接口文件

        p:管道文件(FIFO,pipe),FIFO也是一种特殊的文件类型;(p很少见)

alias命令:

    用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化;使用alias时,最好使用' '引起来,防止出错。注意:alias作用只局限于本次登入使用,若想永久设置则需要在/etc/bashrc文件添加。

用法:

    alias 新的命令='原命令 -选项/参数'

    如:alias ls=‘ls -l’

常见用法:

    alias:查看系统已经设置的别名

    unalias:删除别名命令

    which ls:可以查看别名信息

绝对和相对路径:

    绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/local/mysql 这就是绝对路径。

    相对路径:路径的写法不是由根目录 ‘/’写起,例如,首先用户进入到/, 然后再cd /home进入到home,然后cd test 此时用户所在的路径为 /home/test 第一个cd命令后跟 ‘/home’ 第二个cd命令后跟 ‘test’, 并没有斜杠,这个 ‘test’ 是相对于 ‘/home’ 目录来讲的,所以叫做相对路径。

    pwd:查看当前路径

cd命令:

    用来切换工作目录至dirname。 其中dirname表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录

示例:

    cd    进入用户主目录

    cd ~  进入用户主目录

    cd -  返回进入此目录之前所在的目录

    cd ..  返回上级目录

    cd ../..  返回上两级目录

    cd !$  把上个命令的参数作为cd参数使用(!$表示上一命令的参数)

    cd /usr/local/ 进入/usr/local目录,使用绝对路径/相对路径

mkdir和rmdir命令:

    mkdir命令用来创建目录,若想创建多个目录则使用空格隔开,如mkdir 123/ 345/ 456/ ;若想创建多级目录使用参数-p,如mkdir -p /root/123/456/

    rmdir命令用来删除空目录,此命令只能删除空目录,非空目录不能删除;所以不常用!使用参数-p能实现删除多级空目录,如rmdir -p /root/123/456/

rm命令:

    可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变

这里介绍最常用的两个选项,若想了解详细的帮助信息。可以通过man rm查看;

    -r:删除目录及目录下的所有文件;rm -r能删除非空的目录并提示是否确认删除

    -f:表示强制删除,不会提示是否删除;

    两个选项合并使用,不管是文件还是目录都可以删除;

【使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它】

环境变量PATH:

    查看环境变量:echo $PATH

    自定义添加环境变量:PATH=$PATH:/root (临时修改)

    永久则修改/etc/profile文件,在最后追加内容即可

    如果要删除自定义变量,则重新赋值就行了。

cp命令:

    用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

语法:

    cp [选项] [来源文件] [目标文件]

常用选项:

    -i:覆盖文件前先询问用户

    -r/-R:递归处理,拷贝目录必须加上此选项

    -v:详细显示命令执行的过程

示例:

    cp 1.txt 2.txt

    cp -r /test/ /tmp/test_bak/     (拷贝目录时末尾最好加上/)      .......

mv命令:

    用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

语法:

    mv [选项] [来源文件] [目标文件]


    1.目标文件是目录且目录存在:会把源文件移动到目标目录下

    2.目标文件是目录但目录不存在:这时相当于目录重命名

    3.目标文件不是目录且存在:会提示是否覆盖

    4.目标文件不是目录且不存在:相当于源文件重命名

文档查看命令(cat、more、less、head、tail):

    cat:常用于显示文件内容,-n输入显示行号,-A显示所有内容(行结束符$)

    more:用来查看一个文件的内容,后面直接跟文件名,当文件内容太多,一屏幕不能占下,而你用 ‘cat’ 肯定是看不前面的内容的,那么使用 ‘more’ 就可以解决这个问题了。当看完一屏后按空格键继续看下一屏。但看完所有内容后就会退出。如果你想提前退出,只需按 ‘q’ 键即可。

    less:与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

    head:用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。可使用参数-n显示指定行数:head -n5 1.txt

    tail:用于显示文件的结尾的内容,默认情况下显示最后10行内容;也可以使用-n指定行数;-f可以动态显示文件最后10行内容(常用来查看日志)

chmod命令:

    用来变更文件或目录的权限

语法:

    chmod [options] mode file...

图解:

    blob.png

示例:

    chmod -R 700 dir1   (-R表示递归)

    chmod o+x test.sh

    chmod u=rwx,g=r,o=r test.sh

chown命令:

    用来更改文件的所有者

语法:

    chown [-R] 账户名:组名 文件名   (-R表示级联更改)

示例:

    chown user1 dir1;

    chown -R user1:group1 dir2;

    chown :group1 dir1

chgrp命令用于修改文件的所属组,格式:chgrp [组名] [文件名] == chown :[组名] [文件名]; 所以chgrp不常用。

umask:

    用来设置限制新建文件权限的掩码,默认值为0022;所以默认情况下,目录权限值为755, 普通文件权限值为644。

    目录的权限为 'rwxrwxrwx' - '----w--w-' = 'rwxr-xr-x',普通文件的权限为 'rw-rw-rw-' - '----w--w-' = 'rw-r--r--'

    umask临时修改: umask 002 即可; 永久修改则需要在/etc/bashrc文件进行修改!

【计算文件权限时,尽量使用九位权限值计算,直接使用数字计算会出错】

lsattr和chattr命令:

chattr:用来改变文件特殊属性

语法:chattr  [+-=][ASaci] [文件或者目录名]

    ‘+-=’ : 分别为增加、减少、设定

    ‘A’ : 增加该属性后,文件或目录的atime将不可被修改;

    ‘S’ : 增加该属性后,会将数据同步写入磁盘中;

    ‘a’ : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;

    ‘c’ : 自动压缩该文件,读取时会自动解压;

    ‘i’ : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据

lsattr:用来读取文件或者目录的特殊权限

语法:lsattr  [-aR] [文件/目录名]

    ‘-a’ : 类似与ls 的-a 选项,即连同隐藏文件一同列出;

    ‘-R’ : 连同子目录的数据一同列出

set_uid:(chmod u+s /usr/bin/ls)

    该权限针对二进制可执行文件,使文件在执行阶段临时具有文件所有者的权限。比如passwd这个命令就具有该权限。当普通用户执行passwd命令时,可以临时获得root权限,从而可以修改密码。

set_gid:(chmod g+s /usr/bin/ls)

    该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。当作用于文件上,其功能和set_uid一样,它会使文件在执行阶段具有文件所属组的权限。目录被设置该权限后,任何用户在此目录下创建的文件都具有和该目录属组相同的组

stick_bit:(chmod o+t dirname)

    可以理解为防删除位。文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新的文件。如果希望用户能够添加文件但不能删除该目录下其他用户的文件,则可以对父目录增加该权限。设置该权限后,就算用户对目录具有写权限,也不能删除其他用户的文件。

链接文件(软链接和硬链接):

ln命令:用来为文件创件连接,分为硬连接和软连接两种

语法:

    ln [-s] [源文件] [目标文件]    (不加s是创建硬链接,加s则是建立软链接)

注意:

    1.不能对目录建立硬链接;也不能在不同的文件系统之间做硬链接

    2.硬链接没有创建新文件固不占空间,而软链接则创建了新的文件

    3.目录可以做软链接;一旦源文件被删除,软链接文件就会失效

linux下搜索文件命令

    which命令:可查找可执行文件的绝对路径

    whereis命令:模糊查找文件;只要包含搜索字符就会列出来(故而不常用)

    locate命令:模糊查找文件或目录,也不适合精确搜索(也不常用);注意这个命令需要yum安装和初始化数据库文件才能搜索。

find命令:

    请查看【find命令总结

文件后缀:

    在linux系统中,文件的后缀名并没有具体意义,也就是说,你加或者不加,都无所谓。但是为了容易区分,我们习惯给文件加一个后缀名,这样当用户看到这个文件名时就会很快想到它到底是一个什么文件。

linux和window互传文件

    yum install -y lrzsz; 支持xshell和CRT,不支持putty;且不好用,经常传输失败!推荐使用xftp

    linux --> windows: sz filename

    windows --> linux: rz filename