1.Linux基础指令

一、文件指令

1.查看当前文件夹

1
# pwd
2.查看文件夹中的文件
1
# ls
3.创建文件
1
# touch + 文件名
4.创建多个文件
1
# touch + 文件名 {1..10}.txt
5.创建隐藏文件
1
# touch .文件名
6.查看所有文件(包括隐藏文件)
1
# ls -a
7.竖列显示文件
1
# ls -1
8.显示文件的详细信息
1
# ls -l
9.查看某一类类型的文件(如:txt文件)
1
# ls *.txt
10.删除文件
1
# rm + 文件名
11.强制删除(系统不会再询问)
1
# rm -f + 文件名
12.复制文件(前后文件名不能一样)
1
# cp + 要复制的文件名称 + 重新命名的文件名
13.更改文件名字
1
# mv + 原文件名 + 新文件名
14.查看文件的详细信息
1
2
3
4
5
6
7
8
9
10
# ls -l    
#第一段的第一个字符,表示文件类型-文件、d目录、1软链接(对应着windows快捷方式)、b块设备(1s/dey,可以看到硬盘sda等)
#第一段第2-4字符,表示该文件所属用户的权限
#第一段第5-7字符,表示该文件所属用户组的权限
#第一段第8-10字符,表示其他用户对该文件的权限

r 4 代表读权限read
w 2 代表写权限write
x 1 代表可执行权限executable
- 0 空权限位,表示没有这个权限,9位权限不能少,没有的权限就用-代替。

二、文件夹指令

1.创建文件夹(文件夹显示为蓝色)
1
# mdkir + 文件名
2.进入文件夹
1
# cd + 文件夹名
3.返回上一层文件夹
1
# cd ..
4.返回根目录
1
# cd /
5.删除文件夹
1
2
3
4
删除前需要询问
# rm -r + 文件名
立即删除
# rm -r -f + 文件名 简写为:# rm -rf + 文件名
6.一次性创建多个子目录
1
# mkdir -p xx/kk/cc
7.移动文件(mv)
1
2
# mv 222.txt 123.txt    将222.txt文件重命名为123.txt
# mv 123.txt/opt 将当前目录下的123.txt移动到/opt目录下

三、文件编辑

1.进入文件
1
# vi + 文件名

image-20250311204617571

[!NOTE]

移动光标

左,下,上,右,如果键盘上没有上下左右键,可以h,j,k,l
进入编辑模式有三个按钮:i、a、0,i在光标位置编辑、a是在光标后一位编辑、o是换行编辑,新起一行
ctrl -f 下翻一页
ctrl -b 上翻一页
ctrl -u 上翻半页
ctrl -d 下翻半页
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾(shift+4)
gg 跳至文首
G 跳至文尾(shift+g)
5gg/5G 调至第5行,或者命令行模式:5回车,也是跳到第5行,所以其实操作命令都不是唯一的

删除复制

x 删除单个字符
10x 删除10个字符
dd 删除光标所在行(其实dd是剪切的操作),#使用u撤销之前的操作,使用ctrl+r恢复
6dd 从光标开始往下剧除6行
dw 删除一个单词(word)
小p 粘贴粘贴板的内容到当前行的下面,比如将dd剪切的行黏贴到下面
大P 粘贴粘贴板的内容到当前行的上面
yy 复制行
5yy 复制5行,复制的内容可以通过p\P来黏贴

搜索和替换

搜索:
/pattern 向后搜索字符串pattern #辅助小n向下和大N向上,一般都是用/来搜索
?pattern 向前搜索字符串pattern #辅助小n向上和大N向下,?搜索用的少
替换:
:1369s/shell/jaden/g #将第1369行的shell替换为jaden,/还可以用#或者@符号来代替::1369#she11#jaden#g
:1369,1379s/shell/jaden/g #将1369至1379这10行中的shell替换为jaden
:1369,$s/shell/jaden/g #将1369至文末中的shell替换为jaden
:%s/o1d/new/g #搜索整个文件,将所有的old替换为new
:%s/old/new/gc #搜索整个文件,将所有的old替换为new,每次都要你确认是否替换(y/n/a/..),y表示确认替换一个、n表示不替换、a表示全部替换

2.查看文件里的内容
1
2
# cat + 文件名
# cat -n + 文件名 查询内容直接显示行数
3.显示文件行数
1
set number
4.倒叙查看
1
# tac + 文件名
5.查看前n行
1
# head -n + 文件名
6.查看倒数后n行
1
# tail -n + 文件名
7.管道符号
1
a | b  (可以将前面a指令的执行结果,作为后面b指令的操作内容。)
8.统计行数/统计bin目录下有多少个命令文件
1
# wc -l + 文件名
9.统计字节数
1
# wc -c + 文件名
10.生成数字序列
1
2
# seq a b   生成一个从a到b的数字序列
# seq -w a b 使得生成的数字序列位数一致
11.按行过滤字符串
1
2
3
# grep 'nik' + 文件名   在(文件名)中含有nik的行过滤出来
# grep -n 'nik' + 文件名 显示在文件里的行数
# grep -w 'nikta' + 文件名 精准匹配
12.按列过滤
1
2
3
4
取列,$1代表第一列,$2代表第二列,$NF代表最后一列,默认列是由空格分开的
# awk '[print $1}' jaden.txt
-F后的表示以什么为标准取列。(以,为标准取列)
# awk -F ',' {print $1}' jaden.txt
13.排序
1
2
3
# sort + 文件名  按照每行首字母来排序。默认排序,先数字后字母
# sort -n 先字母(先小写字母后大写字母)后数字的排序方式
# sort -n -r 反向排序
14.去重
1
2
将连续的去重,不会间隔去重,所以最好先排序再去重
# cat test02.txt|sort -n|uniq -c -c显示重复次数

四、用户编辑

1.添加用户
1
# useradd + 用户名
2.查询用户是否存在
1
# id + 用户名
3.用户删除
1
# userdel -r + 用户名   -r是将有关的文件全部删除
4.查看有那些用户
1
# cat /etc/passwd
5.为用户创建密码
1
# passwd + 用户名
6.添加用户组
1
# groupadd + 组名
7.修改用户属性
1
2
# usermod -L 锁定用户
# usermod -h 查看命令的各种选项
8.移动用户到别的组内
1
2
3
4
5
6
7
8
将一个用户添加到用户组中,千万不能直接用: 
# usermod -G groupA
这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。

应该用 加上 -a 选项:
# usermod -a -G groupA user
( # usermod -G groupA,groupB,groupC user )
-a 代表 append, 也就是 将自己添加到 用户组groupA 中,而不必离开 其他用户组。
9.修改文件权限
1
2
3
chmod -r + 文件名  # 使该文件的r(读)权限全部失去
chmod +r + 文件名 # 加上r权限
chmod o-r + 文件名 # 使得某一o(u/r/o)的权限改变

[!NOTE]

image-20250313200300141

权限值

r 4
w 2
x 1
- 0
0
–x 1
-w- 2
-wx 3
r– 4
r-x 5
rw- 6
rwx 7
10.更改用户的所有者(只有root用户才能更改)
1
# chown + 新名字 + 文件名