目录

  • Linux常用命令 (Centos7)
  • 一. Linux文件系统
  • 1.1 常用目录
  • 1.2 目录操作
  • 二.文件夹操作
  • 三.文件操作
  • 四.文件内容操作
  • 五.vi 编辑器
  • 六.用户管理
  • 七.组管理
  • 八. 解压包


Linux常用命令 (Centos7)

一. Linux文件系统

1.1 常用目录

目录名称

说明

/

**Linux **系统根目录

/bin

系统启动时需要的执行文件(二进制)

/dev

设备文件目录

/etc

操作系统的配置文件目录(防火墙启动项

/home

用户信息存放的目录,用户的默认工作目录

/usr

程序和数据存放目录

/var

包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等

1.2 目录操作

  1. 结构: /系统根目录、~当前用户家目录、其他普通目录
  2. 切换目录:
  • cd 目录-绝对路径、相对路径(…/)返回上一级
  1. 清屏 clear、ctrl+L
  2. 查看当前绝对路径 pwd
  3. 查看当前目录下的内容:
  • ls -a 查看目录下文件
  • ls -i
  • ls -l 查看文件具体属性

二.文件夹操作

  1. 增:mkdir 目录路径
mkdir -p A/B   //本例若不加 -p,且原本A目录不存在,则产生错误。
  1. 删:rmdir 目录路径
rmdir -p A/B   //若 B 删除后,A 目录成为空目录,则 A 亦予删除。
  1. 改:mv 原路径 新路径
  2. 查:ls

三.文件操作

  1. 增:touch 文件名 :在当前目录下创建文件
  2. 删:rm 文件路径
  • 删库跑路必备技能:rm -rf
  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。
  1. 复制 :cp 原路径 新路径
  2. 更改文档位置: mv 原路径 新路径

四.文件内容操作

  • head -n 文件名:从头部查看文件n行数据
  • tail -n 文件名:从底部查看文件n行数据
  • tail -f 文件名:动态的查看文件
  • cat 命令: 详情请见runoob:常用:cat a.txt > b.txt(>是替换,>>是追加)、 -n代表显示行数
  • more 命令(一次性加载文档): 详情请见runoob:常用:ctrl+b 向上翻页 ,空格键向下翻页
  • less命令(显示多少加载多少): 详情请见runoob:常用:搜索与vi编辑器类似、 回车向后一行、y 向前一行、o<其他文件>把加载到内容输出到其他文件中
  • 管道符(|):前面的命令|后面的命令 把前面命令的执行结果作为后面命令的输入

五.vi 编辑器

查看模式、编辑模式、尾行模式

  1. vi文件名 进入文件编辑(查看模式)
  2. 由查看模式进入编辑模式:
  1. a 在光标后插入 A 在光标所在行的行末插入
  2. I 在光标处插入I在光标所在行的行收插入
  3. o 在光标所在行下一行插入 O 在上方插入
  1. 退出编辑模式:esc键
  2. 由查看模式进入尾行模式:输入:
  • w保持 、q退出 、q!强制退出、wq保持退出(等同于x)
  1. 在查看模式快速切换行:
  • G:直接到最后一行、gg 直接到第一行 、 ngg跳到n行
  • n回车:从当前行向下找n行
  1. 复制
  • 单行复制 :yy、 粘贴:p
  • 多行复制:nyy、从当前行往下n行 粘贴p
  • ps:在编辑模式下是shift+insert 粘贴
  1. 删除(查找模式下)
  • 单行删除:dd
  • 多行删除:ndd 从当前行往下n行删除
  • 剪切:删除后在想粘贴等地方p
  1. 撤销: 查看模式:u 编辑模式:ctrl+u
  2. 重复上一次动作:查看模式:.
  3. 末行模式下常用命令
  • set:nu行号。。。
  • 查找:/字符串 向下查找、 ?字符串 向上查找 、 n下一个 、N上一个
  1. 替换
  • :1,10s/old/new/g:替换1到10行的所有old为new
注: 
1,10s表示第一行到第十行,s代表替换。 
/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行行首的//
    提示:绝大多数的替换都用最上边的两种替换,下边的两个例子比较特殊,以后用到照着写就好。

六.用户管理

  • 增加用户 useradd 用户名
  • 删除用户 userdel 用户名
  • 更改用户 usermod
  • 修改登录名 usermod -l 新用户名 老用户名
  • 修改用户所属分组: usermod –g 新组名称 用户名
  • usermod -m 用户名 -d /home /test(地址)
  • 查看用户 vi /etc/passwd

七.组管理

  1. 增:groupadd
  2. 删:groupdel
  3. 查 groups:查看当前用户所属的组 vi /etc/group:查看所有组
ps:赋权语句
1. - 代表是文件 <文件默认权限644>
d 代表是目录 <文件夹默认权限755>
2. rwx<用户自己(u)> rwx<所在的组其他用户权限(g)> rwx<其他组的用户(o)>     
<r读,w写,x执行>     root拥有所有权限
3. 给用户减少执行的权限: chmod u-x 文件名或目录
4. 指定权限赋权: 示例: chmod 754 文件名或目录
5. 改变文件或用户的从属: chown  用户名:组名 文件名或目录(用户名和组名不一定要一致)

八. 解压包

  • tar 命令解包 tar -zxvf xxx.tar.gz /tar -xvf xxx.tar
  • tar 命令压包 tar -zcvf xxx.tar.gz