Linux系统基本操作总结文档
一、linux系统目录结构
1.目录结构及目录路径
2.Linux基金会颁发了文件系统层次结构标准(FHS)
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而**/sbin, /usr/sbin 则是给root使用的指令**。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
二、处理目录的常用指令
pwd:显示目前的目录
ls:列出目录及文件名
cd:切换目录
cp:复制文件或目录
mv:移动文件与目录,或修改文件与目录的名称
rm:移除文件或目录
mkdir:创建一个新的目录
redir:删除一个空的目录
你可以使用man[命令]来查看各个命令的使用文档,如:man cp。
1.pwd命令:用于显示用户在文件系统中的当前位置(当前目录,一键定位功能);命令执行结果显示为绝对路径名。
2.ls命令:当前目录下有什么文件,后面加查看的文件目录,省略不写 看的就是当前目录
[root@www ~]# ls [-aAdfFhilnrRSt] 目录名称
[root@www ~]# ls [--color={never,auto,always}] 目录名称
[root@www ~]# ls [--full-time] 目录名称
ls -a(不忽略以点开头的文件(显示隐含文件))
ls -l(显示内容更加全面,如文件的权限位,属于哪个用户名称,修改时间,大小(字节等)
ls -R(如果目录里面含有子目录,会递归显示)
文件的权限(用户(创建者 同组用户 其它用户))
ls-d 仅列出目录本身,而不是列出目录内的文件数据(常用)
3.cd命令 :改变/切换目录(一键传送功能)
绝对路径:cd /home/joshua/work;相对路径:cd project/docs
cd 回到家(home)目录
cd … 回到上一级目录
cd - 回到上一次的工作目录
4.cp命令 (复制某文件到某文件下,如cp a c (把a文件复制到c文件中去)
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
-i (复制到其他地方,有重复时,覆盖时交互提示)
-r (复制文件夹,直接cp报错,对文件夹递归复制)
-a 相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
复制多个文件到文件夹 (如(cp a b …/)把a,b文件复制到了上一级文件中
5.mv命令 移动(剪切,粘贴的功能)
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory
移动多个文件 mv a b test.c 把a,b移动到test.c中
更改文件名 如(mv test 2.c test secend.c)
6.touch命令 创建文件或更新时间
7.rm 命令
rm [-fir] 文件或目录
删除文件
rm -i (删除普通文件)互动模式,在删除前会询问使用者是否动作;
rm -r (删除文件夹)
8.mkdir命令 创建目录
mkdir [-mp] 目录名称
mkdir d1(创建了d1)
mkdir d1/d11(在原有的d1里创建d11)
-p (级联创建,创建一个递归文件夹,mkdir -p d1/d11)
9.rmdir(删除空的目录)
语法:
rmdir [-p] 目录名称
选项与参数:
-p 连同上一级『空的』目录也一起删除
注意:这个rmdir仅能删除空的目录,你可以使用rm命令来删除非空目录。
三、文件内容查看
linux系统中使用以下命令查看文件内容:
1. Cat命令:(查看文件内容,把文件内容打印到终端)
-s 多个空行合并成一个空行显示
-b 加一行空行显示
2. nl 加行号
3. head命令
-n(n只是一个未知数) 显示文件前n行(前n行,默认10)
4. Tail 命令 -n 显示文件后n行(后n行,默认10)
5. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
6. more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
四、vi/vim基本操作
格式:
vi 文件路径加文件名
示例:
vi /etc/network/interfaces
1.vi test1
如果有test1文件则打开文件,如果没有则创建新文件;
2.vi的三种模式
命令行模式 用户在用vi编辑文件时,最初进入的为该模式。可以进行复制、粘贴等操作。
插入模式 进行文件编辑,按ESC键可以回到命令行模式。
底行模式 光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等
3.vi模式切换命令
(A行尾转插入,I行首转插入)
**底行模式<=>命令行模式**之间的转换:不需要特别命令;只需直接键入相应命令键即可;
4.vi拷贝与粘贴命令
(在命令行模式下操作)(N表示对当前的多少行进行操作)
5.vi保存和退出命令(底层模式下)
6.vi光标命令(命令行模式下)
7.vi的查找命令
/ 要查找字符串 (如/printf 光标停在了初始光标下第一个printf下)
n 继续查找
N 反向继续查找
支持正则表达式比如:/^the /end$
(找以他为开头的这些行,或以他为结尾的这些行)
8.vi替换命令 (底层模式下利用:s 命令可以实现字符串的替换)
模板 :范围(x,y) s/old/new 如果省去范围不写,默认是当前行)
:s/str1/str2/
:s/str1/str2/g (g该行全部替换(没g默认换第1个)
:.,$ s/str1/str2/g ( .,$ 范围是当前行到最后一行)
:1,$ s/str1/str2/g ( 1,$ 范围是第一行行到最后一行)(全文替换)
:%s/str1/str2/g ( %s 全文替换)
9.vi复制和剪切命令
d0 将光标至行首的字符剪切入剪贴板
d% 将光标至行尾的字符剪切入剪贴板
y0 将光标至行首的字符拷入(复制)剪贴板
y$ 将光标至行尾的字符拷入剪贴板
range d 块剪切 (如:**8,16d指的是剪切第8-16行)
range y 块复制 (如:8,16y**指的是复制第8-16行)
更多详细内容可访问以下链接:
https://mp.weixin.qq.com/s?src=3×tamp=1595461025&ver=1&signature=Hvqk1Q8w8vjP80UYc8XRVrTu6sHiZuuvYTaxo5nEGoS8CU89q8fZObVVGzWjz6AxzMoDw40rAByvzUsiL-qXbF*PFkCd1mJePmYG-eyJgs0Snb*nFebl6IXzbIWN6TO*A*a9Bq4AFO79LvFV34k1kdUFDUiOvzGBHQ9V999ho3k=
http://c.biancheng.net/vi/
https://zhinan.sogou.com/guide/detail/?id=316513836391
https://www.runoob.com/linux/linux-vim.html
五、网络配置与测试命令
1.ifconfig命令
Linux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。
示例:
(1)配置ip地址
(2)显示网络设备信息
(3)启动关闭指定网卡
2.ip命令
Linux ip 命令与 ifconfig 命令类似,但比 ifconfig 命令更加强大,主要功能是用于显示或设置网络设备。ip 命令是 Linux 加强版的网络配置工具,用于代替 ifconfig 命令。
示例:
六、管道命令
1.管道介绍
管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息。 如,/etc目录下会有大量的文件,如果使用ls很难找到需要的文件,因此可以使用管道命令将ls的结果进行一次筛选,只保留需要的信息。
2.管道命令
command1 | command2 | command3
3.管道工作原理
连续使用管道意味着 第一个命令的输出(第一个命令执行之后输出的结果)会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 standard error 信息没有直接处理能力。
4.常用管道命令
(1)选取指定列:cut
cut为剪切的意思,它能将一行行的数据按照指定的分隔符切成一列列,然后只显示特定列的数据。注意该指令处理的讯息是以行为单位的。
cut有两种使用方==:
按照指定字符分隔
这个命令会按照特定的分隔符将数据切分,并只显示第n列的数据。
语法:cut -d ‘分隔字符’-f n
Cat test1.c| cut-d “” -f n,m,z
选择特定范围内的数据
语法:cut -c 字符区间
选项与参数:
-d :后面接分隔字符。与-f一起使用;
-f :依据-d的分隔字符将一段讯息分区成为数段,用-f取出第几段的意思;
-c :以字符(characters)的单位取出固定字符区间。
示例:
在/test文件夹下创建test文件,并在其中写入123:456:789:abc:def:ghi,在此基础上进行cut指令的操作。
(2)关键词搜索指定行:grep
grep用于进行关键词查找,它会将文件中含有关键词的那一整行输出来。
grep有两种使用方式
grep [-参数] ‘关键词’ 文件名
这种方式并没有用到管道,只是从指定文件中将符合关键词的行搜索出来。
命令|grep [-参数] ‘关键词’
这种方式采用管道,将前一个命令的执行结果输出给grep,并通过grep的关键词搜索将符合条件的行搜索出来。
选项与参数:
sort [-参数] 文件
-t:指定分隔符
-k:选取分隔后的第几个字段进行排序
-f:排序时忽略选取字段的大小写
-b:去除选取字段前的空格
-M:将选取的字段按照月份来排序(前提是选取字段就是月份)
-n:将选取字段按照数据来排序(前提是选取字段就是数字)
-r:反向排序
-u:去重。若选取字段有重复,则去掉重复。
示例:
在test文件中第一行写入num:123456789,第二行写入let:abcdefg。在此基础上进行grep指令的操作。
(3)特定字段提取awk
awk命令是linux系统中一个非常复杂,功能强大的命令,甚至支持在命令中嵌套流程控制语句,以至于在市面上有专门讲awk命令的书籍,当前来说,掌握它的基本的字符提取功能就ok了,其他知识等之后再 边查阅资料边应用 足矣。
语法:awk ‘条件类型1{动作1} 条件类型2{动作2} …’ 文件名
awk命令的执行原理:
awk虽然是个字段提取命令,但awk是这样处理的:
awk首先会将文件的**第一行读取出来**,然后在awk中 判断条件,如果条件满足,则会 执行相应的动作,上面的例子由于没有加条件,所以每一行都会执行同第一行一样的动作。这个动作首先执行的动作是,首先将文件名student.txt赋给$0,然后$1是第一个字段,$2是第二个字段……
然后第二行也重复第一行的动作,将相应字段的内容提取到对应字段中
示例:
(4)字符替换命令sed
简介:想让**计算机自动替换文本,就不适合使用具有交互功能的vi/vim等编辑器,sed命令就是这样一个再shell编程中自动替换文本的命令。sed命令是一种几乎包括在所有UNIX平台(包括linux)的轻量级流编辑器。 sed主要是用来将数据进行选取、替换、删除、新增的命令 。
释义:stream editor 文本编辑器(用来操作纯 ASCII 码的文本)在操作文本的时候是按行进行操作的,所以也叫行编辑器。
类比:那说到这大家应该明白,我们的 编辑器分为两类:
一类叫做全屏编辑**器,我们打开一个编辑器,它会占据整个屏幕,然后提供给我们一个编辑窗口,而后我们就可以在编辑窗口中进行操作了(vim vi)。
sed是一种在线编辑器(行编辑器),它一次处理一行内容。处理时, 1.把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space)。 为什么叫模式空间呢:因为sed(不是所有的行都处理)可以指定仅仅处理哪些行,所以sed可以像grep一样做模式过滤的,符合模式条件的处理,不符合条件的不予处理。2.接着用sed编辑命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。 接着处理下一行,这样不断重复,直到文件末尾。
符合模式 (模式空间中的模式 每次读取一行 匹配模式 编辑命令)做编辑****(到底是删除还是显示 还是什么 取决于 sed的编辑命令)
Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等;
定址:可以 通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号 ($)表示最后一行 。范围可以通过数据,正则表达式或者二者结合的方式确定。
sed命令的格式为:
示例:
(n)更多指令可访问:
https://blog.csdn.net/u010425776/article/details/52191292?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159598595819726869018206%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159598595819726869018206&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-1-52191292.first_rank_ecpm_v3_pc_rank_v2&utm_term=%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4&spm=1018.2118.3001.4187