cd命令

cd切换目录:cd +目标目录

当前目录:. 上一级目录:.. 返回家目录:cd ~/cd 空格

  • 切换到上次所在目录:cd -
  • 打印当前用户名字:whomi
  • 打印当前用户的用户编号和用户组编号:id
  • 打印当前用户家目录:echo $HOME
  • 打印当前目录:pwd

cd一个不存在的目录,直接报错,用echo $?可以查看是不是执行错误,如果返回值为0,执行正确,返回值不是0是其他字符或数字,执行错误。

ls命令

ls显示目录信息命令:ls +[选项] +[文件/目录]

  • 不带任何选项,是对目录内容的普通显示;
  • 选项-a:列出目录内的所有文件(包含隐含文件);
  • 选项-l:列出文件的详细信息(包括文件权限和属性,所属用户,所属组,文件大小,文件创建时间,文件名等信息);
  • 选项-d:列出目录本身的详细信息;
  • 选项-t:按文件的最后更改时间排序;
  • 选项-h:人性化选项

clipboard.png

which命令

which命令:用来查找某个命令的绝对路径;

clipboard.png

alias命令

设置命令别名--把一些较长的命令使用别名来简化;

alias vieth='vi /etc/sysconfig/network-scripts/ifcfg-etho'
alias s='ls -alt /var/' --使用s来代替命令ls -alt /var/

查看别名设置:which s 或 which vieth
取消别名:unalias vieth
在~/.bashrc文件中设置别名可以让别名在同一用户任何终端均可进行使用:

vi ~/.bashrc
把alias s='ls -alt /var/' 放到已存在的别名下方即可

注:~/bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取。

Linux环境变量

  1. 环境变量:环境变量可以让我们直接打出命令,而无需知道命令的具体路径;
  2. 环境变量目录查看:
    clipboard.png
  3. 将新目录加入环境变量:
    clipboard.png
  4. 永久生效:将新目录加入到环境变量中:

    vi /etc/profile --打开profile文件
    把PATH=$PATH:/root加入到最后一行

$后面是由特殊意义的变量,后不加$不会出错,但是没有意义;

Linux快捷键

Ctrl+C:终止当前命令;
Tab:补全命令或目录等;
Ctrl+D:退出当前终端,同样也可以输入exit;
Ctrl+Z:暂停当前进程,暂停的进程可以使用fg恢复它;
Ctrl+L:清屏,使光标移动到第一行;
Ctrl+U:快速删除光标前面的所有字符;
Ctrl+A:快速把光标定位到行首;
Ctrl+E:和Ctrl+A相反,快速把光标定位到行尾;

文件属性

文件的属性
在终端输入ls -l显示出当前目录下所有文件(非隐藏文件)的相关属性;

clipboard.png

  • 第1列:表示文件的权限,第一个字符表示文件类型。
  • 第2列:表示为链接占用的节点(inode),如果是目录,那这个数值与该目录底下有多少一级子目录有关系。
  • 第3列:表示该文件的所有者。
  • 第4列:表示该文件的所属组。
  • 第5列:表示该文件的大小。
  • 第6、7、8列:为该文件的最近的修改日期,分别为月份日期以及时间。
  • 第9列:文件名。

文件的权限

clipboard.png

常见的文件类型:
Linux中一切皆文件,只是后缀名不一样,
“-”:表示是文件;
“d”:表示是目录,在Linux系统中,目录也是一种特殊的文件,它们用来包含文件,文件一定在某个目录下。
“l”:表示是连接文件,指向另一个文件,类似于windows下的快捷方式。
“b”:表示是设备文件里面的可供存储的接口设备。
“c”:表示是设备文件里面的串行端口设备,例如:键盘、鼠标等;dev文件下存的是设备。
“s”:表示该文件为套接字文件(socket),用于进程间同信。

可执行(x)权限的作用
当文件名为一个目录的时候,特别注意x的作用;

drwx------ 2 root root 4096 Oct 20 20:20 tmp/

可以看出这是一个目录,并且只有root又读写和执行权限;

drwx---r-- 2 root root 4096 Oct 20 20:20 tmp/

当其他用户有可读权限(r)时,是不能进入这个目录的,没有x权限也就无法进入tmp目录,这样即使有可读权限,也要先进入该目录后才能还行ls命令读取目录中的内容,但没有x权限就无法进入目录,所以特别注意如果想开放某个目录,一定要开启x权限

文件名
如果文件名之前多一个“.”,表示这个文件是隐藏文件。

权限对文件的重要性
文件是实际含有数据的地方,权限对文件的意义如下:

  • r:可读取文件的实际内容,如读取文本文件的文字内容等;
  • w:可以编辑、新增或修改该文件的内容(但不含删除该文件);
  • x:该文件具有被系统执行的权限,这里注意前面讲的x权限的用法;

权限对目录的重要性
目录主要的内容是记录文件名列表,只要权限对文件的意义如下:

  • r:可读取目录结构列表的权限,所以具有r权限表示可以查询该目录下的文件名数据,即可以使用ls命令;
  • w:这个可写入权限对目录来说功能很强大,表示具有更改目录结构列表的权限。具体如下:新建新的文件或目录、删除已存在的文件或目录(无视文件权限)、重命名文件或目录、转移目录内的文件或目录。
  • x:目录并不能被执行,x权限对于目录来说就是代表用户能否键入该目录

改变文件所属用户组

命令:chgrp +[选项]+ 组名称 文件名

- 选项-R:递归处理,修改该目录下所有子目录

clipboard.png

注意:要改变的组名必须在/etc/group文件中存在,否则显示会错误;

改变文件所属用户

命令:chown + [选项] + 用户名 文件名

- 选项-R:底盖处理,修改该目录下所有子目录;

clipboard.png

注意:要改变的用户名必须在/etc/passwd文件中存在,否则显示错误。

clipboard.png
以上可以同时改变文件的所属用户,所属组;

改变文件权限

命令:chmod +[选项]+ 文件名/目录

选项的全部形式为:[R] [Who] [opt] [mod]

clipboard.png

  • 选项-R:对文件夹进行递归更改,即连同子目录下的所有文件、目录进行更新成当前who选项代表的用户;
  • 选项opt:表示对文件的权限进行更改,“+”就是添加某个权限,“-”表示取消某个权限,“=”表示取消原先所有权限,赋予当前权限;
  • 选项mod:表示文件的权限,可为“r”、“w”、“x”;

    u:User,即文件或目录的拥有者。
    g:Group,即文件或目录的所属群组。
    o:Other,除了文件或目录拥有者所属群组之外,其他用户皆属于这个范围。
    a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

clipboard.png

通过二进制的方式来表示文件/目录的权限

  • 二进制表示:将三个权限组成三个二进制数,每个组内的每个权限分别表示以为二进制,有该权限则为“1”,无该权限则为“0”;即:具体规则为r=4,w=2,x=1,-等于0;
  • 在Linux系统中,root用户,默认一个目录的权限为755,而一个文件

    如:
    rwxrw-r-- : 111 110 100 =764
    rw-r-x--x : 110 101 001 =651

chmod修改权限时,可以通过八进制数字的方式来进行修改

clipboard.png

命令:umask

umask语法:umask xxx(这里的xxx代表三个数字)

查看umask值只要输入“umask”然后回车。

clipboard.png

umask预设是0022,先看看下面的规则:

  1. 若用户建立为普通文件,则预设没有可执行权限,只有rw两个权限,最大为666(-rw-rw-rw-)。
  2. 若用户建立为目录,则预设所有权限均开放,即777(drwxrwxrwx)。
    umask数值代表的含义为,上边两条规则中的默认值(文件为666,目录为777)需要减掉的权限。

所以目录的权限代表的含义为“rwxrwxrwx”-“----w--w-”=“rwxr-xr-x”,普通文件的权限为“rw-rw-rw”-“----w--w-”=“rw-r--r--”,umask的值是可以自定义的,比如设定umask为002,在创建目录或者文件时,默认权限分别为“rwxrwxr-x”和“rw-rw-r--”。

创建和删除目录

mkdir 创建目录:mkdir +[选项] +目录

- 不带任何选项是对单个目录进行操作;

  • 选项-p:可以创建多层目录,当创建一个已经存在的目录时,它不会做任何事情,只是不报错;
  • 选项-m:用来指定要创建目录的权限,不常用;

clipboard.png

rmdir 删除空目录:rmdir +[-p] + 目录

- 不带任何选项是对单个目录进行操作;

  • 选项-p:删除多层空目录;

clipboard.png

所以,得出结论是,rmdir只能删除空目录,即使加上-p也只能删除一串的空目录,可见这个命令又很大的局限性,偶尔用下还可以。

创建文件

touch 创建文件:touch +[选项] +文件名

- 选项-a:即atime,只更改存取的时间;

  • 选项-c:或--no-create  不建立任何文档;
  • 选项-d:使用指定的日期时间,而非现在的时间;
  • 选项-m:或--time=mtime或--time=modify  只更改变动时间;
  • 选项-r:把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同;
  • 选项-t:使用指定的日期时间,而非现在的时间;

删除目录/文件

rm 删除文件或者目录:rm +[选项] +文件/目录

- 不带任何选项默认会有操作提示;

  • 选项-r:删除目录;
  • 选项-f:强制删除,加上此选项删除不再提示是否要删除;

clipboard.png

和rmdir不同的是,使用rm -r删除目录时,会问一下是否删除,如果输入y则会删除,输入n则不删除,但rm -r可以删除非空目录;

clipboard.png
删除一个目录时,不加-r既是加上-f也会报错,所以删除目录一定要加上-r选项;

注:关于rm:使用最多的选项便是-rf两个合用了,不管删除文件还是目录都可以,但是方便的同时也要注意,
万一后面跟了“/”那样就会把你的系统文件全部删除的,这一点一定要注意。

命令通配符

  • *:匹配0个或多个字符;
  • ?:只能匹配一个字符;
  • []:指定范围,也可以组合范围;如:[Cc]hange[Ll]og将于Changelog、ChangeLog、changeLog以及changelog匹配。

拷贝目录/文件

cp文件或者目录拷贝:

cp +[选项] +源文件或者目录 +目标文件/目录

- 源参数是文件

  • 如果目标参数不存在或存在且为文件夹,就是对源参数进行拷贝;
  • 如果目标参数存在且为文件夹,则是对目标参数的覆盖,此时源文件不丢失。
  • 源参数是文件夹
  • 对该文件夹复制到目标参数中。(目标参数为文件是则不能复制)
  • 选项-r:复制目录,如果要拷贝一个目录,必须要加上-r,否则是拷贝不了目录的,和rm类似。
  • 选项-i:这是安全选项,和rm类似,如果遇到一个存在文件,会问是否覆盖,在Redhat/CentOS系统中,使用的cp其实就是cp -i;

clipboard.png

clipboard.png

文件/目录的移动(剪切)/重命名

mv命令

mv +[选项] +源文件/目录 +目标文件或目标目录

该命令有几种情况:

  1. 目标文件是目录,而且目标文件不存在;
  2. 目标文件是目录,而且目标文件存在;
  3. 目标文件不是目录不存在;
  4. 目标文件不是目录存在;

如果目标目录不存在,那么就是对源参数剪切到目标目录中,源文件消失。
如果目标目录是已经存在的文件或者目录,那么就是将源文件或者目录进行覆盖,此时源文件消失。

clipboard.png

clipboard.png

查看文件内容命令

cat显示文件全部内容:

cat + [选项] +文件名

- 选项-n:显示行号;

  • 选项-A:显示所有内容,包括特殊字符;注意大小写

clipboard.png
tac:逆序方式显示文件全部内容;

clipboard.png

more/less:分页显示文件内容:

more/less + [选项] + 文件名

- more命令是将文件内容逐页在屏幕上显示,通过按SPACE(空格键)往下翻页,按b键网上翻页,按q键结束显示,显示文件后不可以上下键滚动。

  • 不带选项是对文件的正常显示;
  • 选项+n:从第n行开始显示文件;注意是“+”号
  • 选项+/pattern:从文件中搜索符合pattern的字符串,并从该行的前两行开始显示;

clipboard.png

less命令同more一样,区别就是less可以上下滚动;空格键同样可以翻页,而按j键可以向下移动,按k键可以向上移动,也可以使用快捷键Ctrl b和Ctrl f分别实现上翻页和下翻页,也可以按上下方向键的移动;
在使用more/less查看某个文件是,可以按一下“/”键,然后输入一个字符串,然后回车;就可以在文件中查找这个字符串,区别:more查找的结果标注,从显示在查找的第一个字符的前两行开始显示,而less查找的结果后把查找出来的结果标注出来。如果查找的这个字符有多个,可以按n键显示下一个;另外也可不按“/”而是按“?”后边同样跟搜索的字符串来搜索,唯一不同就是:“/”是在当前行向下搜索,而“?”是在当前行向上搜索,按G键可以快速到文本末端,然后按g可以快速返回到文件首部,按q键退出。
head/tail显示文件前几行或后几行:

head/tail + [选项] + 文件名

- head:后边直接跟文件名,则显示文件的前十行;

  • 选项-x/-nx:显示前/后x行;

    head -20 /etc/passwd
    tail -n10 /etc/passwd

  • 选项-f:动态显示文件的最后十行,如果文件是不断增加的,则用-f选项。如:

    tail -f /var/log/messages

    可以用来截取文件:如截取aaa.txt文件第10行至20行

head -20 aaa.txt | tail -10

孔雀东南飞
20 声望0 粉丝

本人今年刚毕业,正在学习Linux,Java,oracle


« 上一篇
Linux基础
下一篇 »
Linux文件设置