Linux常用命令整理

2024/1/8 语法

# 一、目录指令

# 1、创建目录make directory

mkdir  目录名称                 		 #mkdir spring,创建一个spring文件夹
mkdir  -p  file/file/file         	   #递归创建多级别关系目录
mkdir      dir/newdir            	   #不使用递归
mkdir  -p  dir/newdir/newdir      	   #使用递归
1
2
3
4

# 2、移动目录 move

mv  dir1  dir2                  	#把dir1目录移动到dir2目录下
mv  dir1/dir2  dir3              	#把dir2目录移动到dir3目录下
mv  dir1/dir2  dir3/dir4          	#把dir2目录移动到dir4目录下
mv  dir1/dir2  ./                	#把dir2移动到当前目录下
mv  dir1/dir2  dir3/dir4          	#dir2移到dir4目录下,并改名字为“原名”
mv  dir1/dir2  dir3/dir4/newdir   	#dir2移到dir4目录下, 并改名字为“newdir”
1
2
3
4
5
6

# 3、修改文件名

mv  dir1  newdir1              		#修改dir1的名称为newdir1
1

# 4、复制 copy

cp  file1  dir/file2      				#把file1拷贝到dir目录下,并改名为file2
cp  file1  dir            				#file1被复制到dir目录下,并改名字为“原名”
cp  dir1/file1  dir2/newfile  			#file1被复制到dir2目录下,并改名字为“newfile”

#复制目录:-r忽略目录的层级关系
cp  -r  dir1  dir2           			#dir1被复制到dir2目录下,并改名字为"原名"
cp  -r  dir1/dir2 dir3/newdir  			#dir2被复制到dir3目录下,并改名字为"newdir"
cp  -r  dir1/dir2 dir3/dir4    			#dir2被复制到dir4目录下,并改名字为"原名"
cp  -r  dir1/dir2 dir3/dir4/newdir 		#dir2被制到dir4目录下,并改名字为"newdir"
cp  -r  dir1 ../../newdir      			#dir1被复制到上两级目录下,并改名字为"newdir"
1
2
3
4
5
6
7
8
9
10

# 5、删除 remove

rm  文件                  		  #删除文件
remove  regular  file  “”  		   #y:删除,n:取消操作
rm  -r  层级目录           			#递归删除目录
rm  -rf  目录/文件         			#强制删除文件或者目录
1
2
3
4

# 二、文件指令

# 1、查看文件内容

cat  filename       			#打印文件内容到输出终端

more  filename     				#通过敲回车方式逐行查看文件的各个行内容
                      			#默认从第一行开始查看
                      			#不支持回看
                      			#输入q 退出查看
                                
less  filename       			#通过“上下左右”键查看文件的各个部分内容
                      			#支持回看
                      			#输入q 退出查看 
                                
head  -n  filename  			#查看文件的前n行内容

tail  -n  filename    			#查看文件的后n行内容

wc  filename        			#查看文件的行数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 2、创建文件

touch  dir1/filename       	#指定路径下创建文件
touch  filename           	#当前目录下创建文件
1
2

# 3、给文件追加内容

如果文件不存在会创建文件

echo content >  filename     	#把“内容”以[覆盖]方式追加给“文件”
echo content>>  filename     	#把“内容”以[追加]形式写给“文件”
1
2

# 三、用户指令

用户操作:需要系统的root登录

# 1、创建用户user add

配置文件:/etc/passwd

useradd
useradd  liming       //创建liming用户,同时会创建一个同名的组出来
useradd  -g 组别编号  username  
//把用户的组别设置好,避免创建同名的组出来
useradd  -g 组编号  -u 用户编号  -d 家目录   username
1
2
3
4
5

# 2、修改用户 usermodify

usermod  -g 组编号  -u 用户编号  -d 家目录  -l 新名字  username
1

# 3、删除用户 userdelete

userdel  username
userdel -r  username    //删除用户同时删除其家目录
1
2

# 4、给用户设置密码,使其登录系统

passwd  用户名
1

# 四、组别操作

需要系统root登录

# 1、创建组 group add

配置文件:/etc/group

groupadd  music
1

# 2、修改组 groupmodify

groupmod  -g  gid  -n 新名字  groupname
1

# 3、删除组 groupdelete

groupdel  groupname   //组下边如果有用户存在,就禁止删除
1

# 五、权限指令

Linux中定义了3种访问权限,分别是r、w、x。

r:表示对象是可读的,八进制表示为4
w:表示对象是可写的,八进制表示为2
x:表示对象是可执行的,八进制表示为1
-rwx           rwx       rwx    
文件所属者权限   用户组权限	 其他用户权限
1
2
3
4
5

功能:修改目录或文件的权限 u:user(所有者)  g:group(所属组)   o:other(其他人)  a:all(所有人)   r:read(读)  w:write(写)  x:execute(执行)

chmod 460 test.txt 				#test文件所有者:r,所属组:rw,其他用户无权限
chmod u+w dest_file				#给目标文件的所属者增加w权限。
chmod u+wx,g+x,o+w dest_file	#给目标文件的所属者增加w权限,所属组增加x权限,系统其他用户增加w权限。
chmod o-w dest_file				#给目标文件的其他用户移除w权限。
chmod u=rwx dest_file			#给所属者赋予rwx权限。
chmod -R 777 /tmp/a  			#目录a包括目录下的所有文件或目录的所有用户权限都变为rwx。
1
2
3
4
5
6

# 六、记事本指令

编辑模式下面显示:- -INSERT- - 命令模式下面显示:(默认什么都不显示) 尾行模式下面显示::wq(退出并保存)

# 1、编辑模式操作

a: 光标向后移动一位
i: 光标和 所在字符 不发生任何变化
o: 给新起一行
s: 删除光标所在字符
1
2
3
4

# 2、尾行模式操作

:q          			#quit 退出编辑器
:w         				#write 对修改后的内容进行保存
:wq         			#write quit 保存修改并退出编辑器
:q!         			#(不保存)强制退出编辑器
:w!        				#强制保存
:wq!        			#强制保存并退出编辑
 
:set number  或 nu          	#设置行号
:set nonumber  或 nonu      	#设置行号
 
:/内容/  或 /内容           	  #查找指定内容---小写n(next)下一个,大写N(next)上一个
 
:数字               			#跳转到数字所在行
 
#字符串替换cont1被替换为cont2
:s/cont1/cont2/         	#替换光标所在行的第一个cont1
:s/cont1/cont2/g        	#替换光标所在行的全部的cont1
:%s/cont1/cont2/g       	#替换整个文档的cont1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 3、命令模式操作

u  光标移动
       字符级
           上(k)(j)(h)(l) 键
       单词级
           w:  word移动到下个单词的首字母
           e:  end移动到下个()单词的尾字母
           b:  before移动到上个()单词的首字母
       行级
           $:  行尾
           0:  行首
       段落级(翻屏)
           {:  上个()段落首部
           }:  下个()段落尾部
       屏幕级(不翻屏)
           H:  屏幕首部
           L:  屏幕尾部
       文档级
           G:  文档尾部
           1G: 文档第1行
           nG: 文档第n行
 
u  内容删除
       dd:     删除光标当前行
       2dd:    包括当前行在内,向后删除2行内容
       ndd:    包括当前行在内,删除后边n行内容
       x:      删除光标所在字符
       c+w:    从光标所在位置删除至单词结尾,并进入编辑模式
       
u  内容复制
       yy:     复制光标当前行
       2yy:    包括当前行在内,向后复制2行内容
       nyy:    包括当前行在内,复制后边n行内容
       p:      对(删除)复制好的内容进行粘贴操作
 
u  相关快捷操作
       u:      undo撤销
       J:      合并上下两行
       r:      单个字符替换
       .点:    重复执行上次最近的指令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

# 七、解和压指令

#gzip压缩
gzip a.txt 	
#解压
gzip -d a.txt.gz或gunzip a.txt.gz
#bzip2压缩
bzip2 a
#解压
bunzip2 a.bz2 或bzip2 -d a.bz2
#将当前目录的文件打包
tar -cvf bak.tar .
#将/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password
#解压
tar -xvf bak.tar
#打包并压缩gzip
tar -zcvf a.tar.gz
#解压缩
tar -zxvf a.tar.gz
#解压到/usr/下
tar -zxvf a.tar.gz -C /usr
#查看压缩包内容
tar -ztvf a.tar.gz或zip/unzip
#打包并压缩成bz2
tar -jcvf a.tar.bz2
#解压bz2
tar -jxvf a.tar.bz2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 八、防火墙指令

# 1、重启后生效

开启: chkconfig iptables on 
关闭: chkconfig iptables off 
1
2

# 2、即时生效,重启后失效

开启: service iptables start 
关闭: service iptables stop 
1
2

# 九、系统指令

grep  关键字 路径名    	 				#将文本中指定的信息匹配出来
which 指令            	   			   #查找指令对应的二进制文件
ps –A									#查看系统活跃进程process
du –h 目标							   #以K,M,G为单位显示目录或文件占据磁盘空间的大小 (block块默认=4k)
date –s “2013-09-13 19:42:30”   		#给系统设置时间
date      								#查看系统时间
df –lh     								#查看系统分区情况
kill -9  pid   							#杀死指定进程号的进程
1
2
3
4
5
6
7
8

# 十、快捷键指令

ctrl + c						#停止进程
ctrl + l						#清屏
ctrl + r						#搜索历史命令
ctrl + q						#退出
help “指令” 或者 man “指令”		#查看内部命令帮助
cd ~ 或 cd					   #进入到用户根目录
pwd								#查看当前所在目录
cd ~cl							#进入到cl用户根目录
cd -							#返回到原来目录
cd ..							#返回到上一级目录
ls –la							#查看la用户根目录下的所有文件
1
2
3
4
5
6
7
8
9
10
11