目录结构

练习

systemctr get-default #获取当前系统启动的target
systemctl isolate multi-user.target  #切换到文本控制台


大部分命令,只需要输入前几个字符按下TAB键,没有相重的命令,就可以自动补全

目录和文件名等也可以补全,按两次TAB可以列出当前所有以它开头的,可以使用的参数

在Bash中,有两个作用,一是作为换行符,让行得以继续,命令可以正常输入
还有一个作用是作为转义符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符(\n,\r)
作为转义符的例子:

1
2
3
4
[linux@linux ~]$ echo $HOME
/home/
[linux@linux ~]$ echo \$HOME
$HOME


;可以分割命令,用来实现一行执行多个命令


1
2
3
4
5
6
7
    wc 【参数】 【文件】 #统计指定文件中的字节数,字数,行数
参数:
-c #统计字节数
-l #统计行数
-m #统计字符数,不能和-c一同使用
-w #统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串
不加参数的默认情况下将计算指定文件的行数,字数,以及字节数
1
2
more 【参数】 【文件】 #一次显示一屏的文本,按空格或者回车继续显示,按`q`退出
-p #显示下一屏之前清屏
1
2
3
4
5
6
7
less 【参数】 【文件】	#浏览文件,并且可以前后翻页,搜索字符
【方向上键】:向下翻行。【j】同样效果
【方向下键】:向上翻行。【k】同样效果
【B】:向上翻页(Back)
【F】:向下翻页(Forward)
【Shift+G】:定位到文本最后一行
通过输入/+回车来搜索内容
1
2
3
4
5
6
7
8
    tail 【参数】 【文件】  #用于查看文件,-f可以用于动态读取文件,常用于日志文件
参数:
-f #循环读取 文件有更新会立即显示,按ctrl+c停止
-n 【行数】 #显示文件的尾部n行内容
不加参数的默认情况下显示文件最后10行
实例:
tail -n 20 123.txt #显示123.txt的文件最后20行
tail -n +20 123.txt #显示123.txt的文件的前面20行
history   #显示命令历史

logger #可以直接向系统日志文件写入一行信息
(上图是在系统日志写了一句话,在/var/log/messages存放的就是系统日志,在上文tail就是查看了这个日志)

123

ln可以创建一个文件的影子,也可以通过一个通道进入另一个地方。其实,所有的这些把戏都是通过软链接和硬链接来实现的
注意:

  • 硬连接不允许跨区链接,也不允许指向目录
  • 硬链接的两个文件的属性大部分都相同
  • 硬链接主要用于备份,几乎不占用多余空间
  • 软链接允许跨分区链接,也允许链接目录
    1
    2
    3
    4
    5
    6
    7
    ln 【参数】 【源文件或目录】 【目标文件或目录】  #创建链接
    参数:
    -s #对原文件建立符号链接,而非硬链接
    -f #强制创建链接,即使目标文件以及存在
    -d #此选项允许“root”用户建立目录的硬链接
    -b #为每个已存在的目标文件创建备份文件
    -n #把指向目录的符号链接视为一个普通文件
1
pwd   #查看当前的工作目录
1
2
3
4
5
6
7
8
9
	find 【搜索的目录】 【参数】  #查找文件或者目录
参数:
-name 【文件】 #文件名称符合 name 的文件
-iname 【文件】 #iname 会忽略大小写
-user 【用户名】 #文件的所属用户为【用户名】

实例:
find /home -user "student" #在/home目录下寻找student文件
find /etc /var /usr -name "passwd" #在多个目录下寻找passwd
1
2
3
4
5
6
7
8
	grep 
参数:
-i #忽略大小写


实例:
grep '^cat' /usr/ #以cat开头
grep '^cat$' / #只找cat

未完待续