Linux常用命令(系统:CentOS7)
目录操作
-
结构:/系统根目录、~当前用户目录
-
切换目录:
-
清屏 ctrl+l、clear
-
查看当前所在目录 pwd
-
查看当前目录下的内容:ls:-a -i -l
-
文件夹操作
增:mkdir 目录路径
删:rmdir 目录路径
改:mv 原路径 新路径 -
文件操作:
增:touch 文件路径
删:rm 文件路径
删库跑路必备技能:rm -rf(无二次确认)
改:
移动文件或修改文件名:mv 原路径 新路径
复制:cp 原路径 新路径
文件内容管理
head -n 文件名:从头部查看文件n行数据
tail -n 文件名:从底部查看文件n行数据
tail -f 文件名:动态的查看文件
cat命令:见runnoob:
常用的:
cat a.txt>b,txt(>是替换,>>是追加)、-n代表显示行数
more命令(一次性加载文档):见runnoob:空格翻页,q退出,ctrl+b向上翻页
less命令(显示多少加载多少):见runnoob:空格翻页,q退出
vi编辑器
查看模式、编辑模式、尾行模式
-
vi 文件名 进入文本编辑模式(查看模式)
-
由查看模式进入编辑模式:
- a在光标后面插入、A在光标所在行末插入
- i在光标位置插入、I在光标所在行首插入
- o在光标所在行下方插入、O在上方插入
-
退出编辑模式:ESC键
-
由查看模式进入尾行模式:输入:
- w保存、q推出、q!强制退出、wq保存并推出(等同于s)
-
在查看模式快速切换行:
- G直接到最后一行、gg到首行、ngg:跳转到文档的第n行
- n回车:从当前行向下找n行
-
复制粘贴(查看模式下进行)
- 单行复制:yy、粘贴:p
- 多行复制:nyy、zhantie:p
-
删除(查看模式下进行)
- 单行删除:dd
- 多行删除:ndd
- 剪切:删除后在想粘贴的地方p
-
撤销:产看模式:u,编辑模式:ctrl+u
-
重复执行:查看模式:.
-
末行模式下常用命令
- set:nu 行号
- 查找(查看模式):/字符串 向下查找、?字符串 向上查找、n下一个、N上一个
-
替换
- 1,10s/old/new/g:替换1到10行的所有old为new
- /old/new表示把old换成new。 g表示范围内替换所有。(如果不加g,只会替换范围内第一个old)
- %s/old/new/g:替换整个文件的old为new
替换字符串,举几个例子:
在shell中“#”开头是注释,那我是否可以注释文件的前10行呢?手工一个一个注释很麻烦,如何进行批量替换。 - 1,10s/^/#/g:注释1到10行
- 1,10s/^#//g:取消注释
注:^#意思是把行首的#去掉。正则表达式是包含匹配,如果只写#,表示1到10行所有的#都去掉。
注:在C语言,PHP语言等大多数语言中,是使用"//“开头作为注释的,用vim来写这些程序语言脚本,如何批量加入”//"注释。 - 1,10s/^g:1到10行,行首加入//
注:把行首^替换成//(双斜杠 //),\符号在命令行中代表换行,\符号在字符串中代表转义符。(转义符就是把有特殊含义的字符转换成普通的字符串符号。) - 1,10s/^g:取消1到10行行首的//
sed -n “开始行,结束行p” 文件名
- 1,10s/old/new/g:替换1到10行的所有old为new
用户管理
-
增(创建用户):useradd 用户名
ps:修改初始密码passwd用户名
切换用户:su 用户名 -
删:userdel
-
改:usermod
-
查看所有用户: vi /etc/passwd
组管理
- 增:groupadd
- 删:groupdel
- 查:groups:查看用户当前所有组;vi /etc/group:查看所有的组
赋权语句
- 首位: -代表是文件;
d代表是目录 - rwx rwx rwx
第一组 rwx:代表所属用户的权限,
第二组rwx代表的用户所在组的其他用户的权限,
第三组rwx代表其他组用户的权限 - 给用户减少执行的权限:chmod u-x 文件名或目录
- 指定权限赋权:chmod:chmod 754 文件或目录
- 改变文件或用户的从属:chown 用户名:组名 文件名:组名 文件名或目录名
解压命令
tar
解包:tar -zxvf xxx.tar.gz
解包:tar -xvf xx.tar
压缩包:tar -zcvf xx.tar.gz