liunx 最常用命令
1、ll -a 相当于ls -al 列出当前文件夹下所有文件和文件夹(包含隐藏文件和文件夹)的详细信息

2、ubuntu系统下docker容器内部无法使用ping命令

先执行apt-get update命令,同步/etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包
apt-get update

在执行
apt-get install iputils-ping

3、反斜杠“\”:强制换行,这样复制命令到bash的时候可以自动换行,可以直接执行,如果没有强制换行符,会报错
docker run -d -p 3309:3306 --name mysql1master \ -v /home/mysqlcluster/1master1slave/master/data:/var/lib/mysql \ -v /home/mysqlcluster/1master1slave/master/conf:/etc/mysql \ -v /home/mysqlcluster/1master1slave/master/log:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.31

4、递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
mkdir -p 多层目录
5、查找文档中9001然后用9002替换

6、chmod +x就是赋予用户文件的执行权限
chmod +x 文件名(包括扩展后缀)
然后就可以执行文件
./ 文件名(包括扩展后缀)

绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
7、查看磁盘使用空间 : df -TH

8、 执行二进制文件直接用: ./filename (打包二进制文件是没有后缀名的 ) 后台使用: nohup command > filename 2>&1 &
9、修改文件夹以及文件夹内所有文件的权限
chmod -R 755 文件夹
-R选项表示递归处理目录及其子目录下所有文件。
10、修改文件夹所属的用户
chown -R 用户编码:用户编码 文件夹
-R选项表示递归处理目录及其子目录下所有文件。
11、将zip文件解压缩到temp文件夹
unzip aa.zip -d ./temp
12、文件中查找关键词,/后面跟查询词
/查询的关键词
13、查看文件内容
cat file 全部显示文件
more file 分页显示文件
head file 显示文件前10行
tail file 显示文件后10行
14、文件移动和改名
mv file1 file2 如果file2文件不存在,则file1改名为 file2
mv file1 file2 如果file2存在,则file1改名为file2且覆盖掉file2文件
mv file dir 将file移动到dir目录中
15、vi编辑器命令
命令模式下: :w 保存文件 :q 如果没修改文件,退出文件 :q! 退出编辑器,如果修改了文件,则恢复为未修改状态 :wq 保存文件修改,然后退出编辑器 o 在当前光标行下面新建空行 i 在当前光标前面添加文字 a 在当前光标后面添加文字
esc 从插入模式退出到命令模式
16、cd命令切换最近两次操作的目录
cd - 从当前目录切换到上次操作目录
17、cp 命令
cp /a/1.txt . 将a文件夹的1.txt文件复制到当前目录 cp /a/1.txt ./2.txt 将a文件夹的1.txt文件复制到当前文件夹并且改名为2.txt cp -i /a/1.txt . 将a文件夹的1.txt文件复制到当前目录,如果当前目录存在1.txt 并且与复制过来的1.txt不同,则提示是否覆盖
cp -r /a a1 将a文件夹内的内容复制到当前路径的a1文件夹内
18、tree命令
tree / 以树状图的格式显示根目录下文件 tree ~ 以树状图的格式显示home目录文件 tree 以树状图的格式显示当前目录文件
19、cat 命令
cat -b 1.txt 显示文件内容和行号,忽略空行 cat -n 1.txt 显示文件内容和行号,不忽略空行
20、grep
grep -in "hello world" 1.txt 从1.txt文件中忽略大小写,查找hello world字符串 -i表示忽略大小写,-n表示显示命中的行号
grep -in ^h 1.txt 从1.txt中查找以f开头的行, ^f 是正则表达式
grep -in d$ 1.txt 从1.txt中查找以d结尾的行, d$ 是正则表达式
21、重定向 > 和>> 将终端的信息重定向到文件中
echo hello world > 1.txt 将输出到终端的hello world 重定向写入文件中 echo welcome to china >> 1.txt 将输出到终端的welcome to china 追加到1.tx 如果使用> 则是覆盖原来的hello world
ls -lh >> 1.txt 将当前目录查询到的文件信息重定向追加到1.txt文件中
cat 2.txt >> 1.txt
22、scp命令
/*将当前目录文件拷贝到远程机器home 下的file目录端口参数P要大写,:代表以home为起始地址的相对路径*/ scp -P 22 1.txt root@172.19.140.200:file /*将远程机器home/file目录下的文件1.txt拷贝到本地机器的当前目录*/ spc -P 22 root@172.19.140.200:file/1.txt . /*将远程机器home/file目录下的所有文件拷贝到本地机器的当前目录下localfile*/ scp -P 22 -r root@172.19.140.200:file localfile
/* 将当前用户home目录下Desktop目录文件拷贝到远程机器home 下的file目录 */
scp -P 22 -r ~/Desktop root@172.19.140.200:file
23、ssh免密登录
/*两台liunx机器免密ssh登录*/ /* 先查询本地机器.ssh目录,然后进入home目录下的.ssh隐藏目录*/ ls -alh cd .ssh /*生成ssh钥匙,执行下面命令,一路回车*/ ssh-keygen /*上传本地机器公钥到远程服务器*/ ssh-copy-id -p 22 root@172.19.140.200
24、ssh本地机器配置远程服务器别名,后面就可以使用别名代替ueer@ip
/* 在本机的~/.ssh目录下新建config文件*/ touch config /*config文件写入以下内容*/ Host myserver HostName 172.19.140.200 User root Port 22
25、查看用户组信息
cat /etc/group
26 、修改文件夹所属组
/*修改文件夹所属组*/ sudo chgrp -R 组名 文件夹名 /*修改文件所属组*/ sudo chgrp -R 组名 文件名
27、新建用户和设置密码
/* 新建一个用户user1 , 属于test组,-m 自动为新用户建立home下同名目录,-g指定用户组 ,如果没有该参数,会自动建立同名的组*/ sudo useradd -m -g test user1 /* 给user1设置密码*/ sudo passwd user1
28、删除用户和同名家目录
/*删除用户user1并且删除home下用户的同名目录*/ userdel -r user1
29、查看用户id和组id
/* 查看user1用户的uid和组idgid*/ id user1
30、查看用户的主组和附加组信息
/* -n 是显示行号 查看group文件中user1的组信息*/ cat -n /etc/group | grep user1
31、 给用户添加主组和附加组
/* 给用户user1添加到的devgroup这个主组,一般主组是在新建用户时添加,不使用下面的命令添加,小写的g是添加主组*/ usermod -g devgroup user1 /* 给用户user1添加到的testgroup这个附加组,大写的g是添加附加组 ,sudo也是附加组,设置附加组后需要重新登录才可以使用*/ user mod -G testgroup user1
32、改变登录用户使用的shell
/* 用户user1使用bash登录*/ usermod -s /bin/bash user1
33、 切换用户
/* 从当前用户切换到user2,加-表示同时切换到user2的家目录,如果不加-只切换用户*/ su - user2 /* 使用exit 退出user2用户,返回切换前的用户*/ exit /* 从当前用户直接切换到root用户*/ su -
34、 查看磁盘空间
/* 查看所有磁盘占用情况,-h 参数以人性化的方式显示磁盘容量*/ df -h /* 显示当前目录所有子目录占用情况*/ du -h
35、查看终端启动进程
/* 查看终端启动的进程状态,ps 是process status的缩写*/ /* a 显示终端所有进程,包括其他用户*/ /* u 显示进程的详细状态*/ ps au
/* 动态显示进程信息,并且排序,用q退出*/
top
36、查找文件
/* 查找folder 下后缀为.txt的所有文件*/ find folder -name "*.txt"
37、软连接
/* 软连接类似于windows的快捷方式,sourcefile 可以是绝对路径也可以是相对路径,但是 使用相对路径移动后软连接可能无法使用,建议使用绝对路径*/ ln -s sourcefile softlinkname
38、打包文件和解打包文件(不常用)
/*压缩文件* -c 生成打包文件 -v列出归档和解档的详细过程,显示进度 -f 指定档案文件,f后面一定是.tar文件,f参数需要放最后,多个打包文件中间用空格,tar命令不压缩文件*/ tar -cvf txt.tar 1.txt 2.txt 3.txt /* 解压文件 -f需要放在最后*/ tar -xvf 压缩文件.tar
39、压缩打包和解压缩打包(常用)
/* tar命令只负责打包,不负责压缩,gzip可以压缩打包后的tar文件,文件后缀为xxx.tar.gz tar 可以使用-z参数调用gzip*/ tar -zcvf xxx.tar.gz 1.txt 2.txt /*解压缩文件*/ tar -zxvf xxx.tar.gz /*解压缩文件到某个目录*/ tar -zxvf xxx.tar.gz -C 解压目标路径
40、#!命令 (读音为shebang)
# 通常是uninx脚本的第一行,指明执行这个脚本的解释程序,加上这个命令后,可以再liunx系统下直接输入文件名执行python程序 #! usr/bin/python3
41、 Vi打开文件时,定位光标
//打开文件,光标在第一行 vi 文件名 //打开文件,光标在最后一行 vi 文件名 + //打开文件 光标在指定10行 vi 文件名 +10
42、vi交换文件,修改文件后,未保存文件,直接关闭终端。再次打开文件时,需要删除交换文件

//英文输入法状态下,按下键盘的d键 d
45、 vi的三种工作模式

46、 vi末行命令,:后面跟的命令
w // write 保存 q // quit 退出,如果修改了文件,没有保存,无法退出 q! // quit 强制退出,不保存文件也可以退出 wq // write & quit 保存并且退出 x // 保存并且退出
47、 重复命令
20 命令 //命令重复20次

48、vi 整行移动光标

49、vi行内移动光标

50、 vi翻页

51、定位某行

52、段落切换

53、括号切换()[]{}

54、标记

55、vi可视模式

56、撤销和恢复撤销,撤销可以连续使用直到打开文件时的状态

57、删除命令


58、复制和粘贴

注意事项

59、替换命令

60、缩排和重复执行

61、查找单词

62、查找和替换

63、可视区域替换

64、确认替换

65、6个insert命令

66、增加多行注释

67、末行命令扩展

68、分屏命令

切换分屏


浙公网安备 33010602011771号