记录一下,不然期末真的挂了。
目录
第一章 Linux Introduction
UNIX Software Architecture
Linux Boot Step
systemctl 命令
systemctl 命令有两大类功能:
- 控制 systemd 系统
- 管理系统上运行的服务
systemctl --version 查看系统版本
systemctl enable/disable service_name 控制启动服务
eg:为 prometheus 服务创建了配置文件 /lib/systemd/system/prometheus.service
sudo systemctl enable prometheus.service
/etc/rc.local
这是使用者自定开机启动程序,把需要开机自动运行的程序写在这个脚本里
/etc/passwd, /etc/shadow
在 /etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。该文件对所有用户可读。
/etc/shadow是passwd文件的一个影子,/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。但是/etc/shadow文件只有系统管理员才能够进行修改和查看。
本章命令:
修改密码命令:passwd
退出登录命令:exit (Ctrl -d)
重启命令:reboot
关机命令:–shutdown :1. shutdown -h now 立刻关机(root用户使用) 2.shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
–poweroff 立刻关机
–halt 立刻关机
第二章 UNIX Shells
Unix Shells:bash, csh, sh, ksh
用户的shell保存在/etc/passwd 中,可通过grep命令查看配置:
grep username /etc/passwd
grep命令:使用正则表达式搜索文本,并把匹配的行打印出来
改变shell命令:chsh
/etc/profile与$HOME/. bash_profile,$HOME/.bashrc
每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级用户所用,$HOME/.bash_profile是每个用户自己独立的,我们可以修改该文件来设置一些变量。$HOME/.bashrc 在每次启动bash shell(打开终端或者在终端输入sh)后执行。
本章命令
查看环境变量命令:env,set
查看某个环境变量命令:echo name
显示当前所在工作目录的全路径命令:pwd
在shell中可以操作的指令或可执行档:man
常见环境变量:
–$PATH:command searching path(命令搜索路径)
–$HOME:user logging on directory(用户登录目录)
–$PS1:command prompt(命令提示符)
–$LANG: language
•Hot key
–Ctrl + u : delete characters to the begin
–Ctrl + k : delete characters to the end
–Ctrl + c : cancel the command
–Ctrl + a : move the cursor to the begin
–Ctrl + e : move the cursor to the end
Shell Metacharaters(元字符)
Metacharaters | purpose | Example |
$ | Dereference shell variable(引用变量) | echo $PATH |
“ | To quote multiple characters but allow substitution | echo “$PWD” |
‘ | To quote multiple characters | echo ‘$PWD’ |
* | To match zero or more characters(匹配零个或多个字符) | rm *.tmp |
? | To substitute a wild card for exactly one characters(用通配符代替一个字符) | rm ?.tmp |
[ ] | To insert wild cards(插入通配符) | rm [1-3].tmp |
` | To substitute a command(替换命令) | PATH=$PATH:`pwd` |
~ | To name home directory(主目录名字) | ls ~/ |
\ | To escape a single character(转义单个字符) | rm a\ b\ c |
第三章 File System
列出文件系统的整体磁盘空间使用情况命令:df
磁盘分区命令:fdisk
格式化分区命令:mkfs
挂载磁盘分区命令:mount (自动挂载的分区:/etc/fstab)
命令格式:mount [-t vfstype] [-o options] device dir
七种文件类型
普通文件类型
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]
目录文件
就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]
块设备文件
块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]
字符设备
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
套接字文件
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型
管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
链接文件
类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]
第六章 File Processing
1.cat命令:用于连接文件并打印到标准输出设备上。
参数选项:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
2.nl 命令:将指定的文件添加行号标注后写到标准输出
3.more命令:类似 cat ,不过会以一页一页的形式显示,按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
参数选项:
- -num 一次显示的行数
- +num 从第 num 行开始显示
4.od命令:读取所给予的文件的内容,并将其内容以八进制字码呈现出来。
5.head,tail命令:是用来显示文件的开头或结尾至标准输出中
参数选项:
- -n <行数> 显示行数
6.wc命令:利用wc指令我们可以计算文件的Byte数、字数、或是列数
参数选项:
- -c或--bytes或--chars 只显示Bytes数。
- -l或--lines 只显示行数。
- -w或--words 只显示字数。
7.diff命令:diff命令用于比较文件的差异。diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
参数选项:
- -y或--side-by-side 以并列的方式显示文件的异同之处。
- -i或--ignore-case 不检查大小写的不同。
- -u或--unique 仅显示出一次的行列。
8.uniq命令:用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。(不加参数删除重复行,当重复的行并不相邻时,uniq 命令是不起作用的)
参数选项:
- -c或--count 在每列旁边显示该行重复出现的次数。
- -d或--repeated 仅显示重复出现的行列
9.patch命令:patch指令让用户利用设置修补文件的方式,修改,更新原始文件。(结合diff命令使用)
使用案例(升级文件):
–diff old new > patch_file
patch old patch_file
10.gzip命令:gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
参数选项:
- -c或--stdout或--to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
- -d或--decompress或----uncompress 解开压缩文件。
11.bzip2命令:bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
参数选项:
- -c或--stdout 将压缩与解压缩的结果送到标准输出。
- -d或--decompress 执行解压缩。
- -v或--verbose 压缩或解压缩文件时,显示详细的信息。
- -k或--keep bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
12.find命令:用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
参数选项:
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
13.which命令:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
参数选项:
- -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
- -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
14.whereis命令:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
15.sort命令:sort可针对文本文件的内容,以行为单位来排序。
参数选项:
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -r 以相反的顺序来排序。
- -n 依照数值的大小排序。
- -t选项,后面可以设定间隔符
- -k来指定列数了
16.cut命令:显示每行从开头算起 num1 到 num2 的文字。
参数选项:
- -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
- -c :以字符为单位进行分割。
- -d :自定义分隔符,默认为制表符。
- -f :与-d一起使用,指定显示哪个区域。
- -n :取消分割多字节字符。仅和 -b 标志一起使用。
实例:当你执行who命令时,会输出类似如下的内容:
$ who
rocrocket :0 2009-01-08 11:07
rocrocket pts/0 2009-01-08 11:23 (:0.0)
rocrocket pts/1 2009-01-08 14:15 (:0.0)
如果我们想提取每一行的第3个字节,就这样:
$ who|cut -b 3
c
c
17.paste命令:paste 指令会把每个文件以列对列的方式,一列列地加以合并
18.grep命令:用于查找文件里符合条件的字符串。
选项参数:
- -c 或 --count : 计算符合样式的列数。
- -i 或 --ignore-case : 忽略字符大小写的差别。
- -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
- -v 或 --revert-match : 显示不包含匹配文本的所有行。
19.sed命令:利用脚本来处理文本文件。
20.awk命令: