Linux 常用命令——超详细(建议收藏)

Linux

  • Linux
    • 一、系统目录结构
      • 1. / :根
      • 2. /bin :用户二进制文件
      • 3. /sbin :系统二进制文件
      • 4. /etc :配置文件
      • 5. /dev :设备文件
      • 6. /proc :进程信息
      • 7. /var :变量文件
      • 8. /tem :临时文件
      • 9. /usr :系统应用程序
      • 10. /home :HOME 目录
      • 11. /boot :引导加载程序文件
      • 12. /lib :系统库
      • 13. /opt代表可选的。
      • 14 /mnt :挂载目录
      • 15 /media :可移动媒体设备
      • 16 /srv :服务数据
    • 二、SSH 协议(安全外壳协议)
    • 三、命令基本格式
      • 1. 命令提示符
      • 2. 命令格式
    • 四、常用命令
      • 1. 基本命令
      • 2. 文件查询命令
      • 3. 文件处理命令
      • 4. 复制命令
      • 5. 剪切或改名命令
      • 6. 文件搜索命令
      • 7. 文件搜索命令
      • 8. Linux 中的通配符
      • 9. 按时间查询
      • 10. 按文件大小查询
      • 11. 符合条件查询
      • 12. 字符串搜索命令
      • 13. 查看帮助命令
      • 14. 获取命令选项的帮助
      • 15. 查看端口号
      • 16. MySQL 常用命令
      • 17. 系统服务管理 systemctl
      • 18. 查看进程
        • 18.1 查看进程
        • 18.2 杀死进程
      • 19. 后台运行
    • 五、压缩和解压命令
      • 1. .zip 格式
        • 1.1 zip 压缩
        • 1.2 zip 解压缩
      • 2. .gz 格式
      • 3. .bz2 格式(拓展)
      • 4. .tar.gz格式 (重点)
    • 六、关机和重启命令
      • 1. 关机命令
        • 1.1 shutdown 命令
        • 1.2 其他关机、重启命令
      • 2. 查看任务进程
      • 3. 查看内存占用:free
      • 4. 查看操作历史
      • 5. 在显示器输出内容
      • 6. 文件查看命令
    • 七、vi 编辑器
      • 1. 编辑器的三种模式
      • 2. 打开和关闭文件
      • 3. 移动光标
      • 4. 翻屏操作
      • 5. 删除命令
      • 6. 查找和替换
    • 八、权限管理
      • 1. 用户管理
        • 1.1 计算资源:(一切皆文件)
        • 1.2 添加用户
        • 1.3 添加组
        • 1.4 修改用户组属性
        • 1.5 删除用户
        • 1.6 修改密码
      • 2. 文件基本权限(杀死进程)
        • 2.1 文件权限解释
        • 2.2 添加权限
        • 2.3 修改权限的方式
        • 2.4 权限的数字表示
        • 2.5 其他权限命令
        • 2.6 sudo权限
    • 九、网络管理
      • 1. 网络中的基本概念
      • 2. 防火墙
      • 3. ifcfg-eth解释
  • 总结

Linux


一、系统目录结构

1. / :根

每一个文件和目录从根目录开始。

只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/不一样

2. /bin :用户二进制文件

包含二进制可执行文件。

在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。

例如:ps、ls、ping、grep、cp

3. /sbin :系统二进制文件

就像/bin,/sbin同样也包含二进制可执行文件。

但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令

4. /etc :配置文件

包含所有程序所需的配置文件。

也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf

hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。

5. /dev :设备文件

包含设备文件。

这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0

6. /proc :进程信息

包含系统进程的相关信息。

这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。

这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime

7. /var :变量文件

var代表变量文件。

这个目录下可以找到内容可能增长的文件。

这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);

8. /tem :临时文件

包含系统和用户创建的临时文件。

当系统重新启动时,这个目录下的文件都将被删除。

9. /usr :系统应用程序

包含二进制文件、库文件、文档和二级程序的源代码。

/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。

/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。

/usr/lib中包含了/usr/bin和/usr/sbin用到的库。

/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。

10. /home :HOME 目录

所有用户用home目录来存储他们的个人档案。

例如:/home/john、/home/nikita

11. /boot :引导加载程序文件

包含引导加载程序相关的文件。

内核的initrd、vmlinux、grub文件位于/boot下。

例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic

12. /lib :系统库

包含支持位于/bin和/sbin下的二进制文件的库文件.

库文件名为 ld或lib.so.*

例如:ld-2.11.1.so,libncurses.so.5.7

13. /opt代表可选的。

包含从个别厂商的附加应用程序。

附加应用程序应该安装在/opt/或者/opt/的子目录下。

14 /mnt :挂载目录

临时安装目录,系统管理员可以挂载文件系统。

15 /media :可移动媒体设备

用于挂载可移动设备的临时目录。

举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;

16 /srv :服务数据

srv代表服务。

包含服务器特定服务相关的数据。

例如,/srv/cvs包含cvs相关的数据。


二、SSH 协议(安全外壳协议)

ssh为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。


三、命令基本格式

1. 命令提示符

[root@localhost ~]#

解析:

序号 字符 含义
1 root 当前登陆用户
2 localhost 主机名
3 ~ 当前所在目录(家目录)
4 root 如果是root代表/root
5 普通用户user1 如果是普通用户user1代表/home/user1
6 # 超级用户的提示符#
7 $ 普通用户提示符$

2. 命令格式

命令 [选项] [参数]

  • 注意
    【1】个别命令的使用不遵循次格式;
    【2】当有多个选项时,可以写在一起;
    【3】简化选项与完整选项;
    【4】-a 等于 --all;

四、常用命令

1. 基本命令

序号 命令 作用
1 ctrl + alt 移出鼠标
2 ip addr 查看 ip 地址
3 SecureCRTPortable 模式中 ctrl + s 之后 需要 Ctrl + Q 然后回车
4 Table 用于补全命令
5 使用 vi 进入编辑页面后,非输入状态下使用 /查找内容 可以查找,按 n 向下翻页,使用 N 向上翻页
6 普通查看模式中使用 ctrl+c 退出

2. 文件查询命令

  • 语法
命令 [选项] [参数]
序号 命令 作用
1 ls 查看该路径下的所有文件(不包括隐藏文件)
2 ls -a 查看该路径下的所有文件(包括隐藏文件)
3 (ls -l) / ll 查看详情(不包括隐藏文件)
4 ls -h 人性化显示文件大小
5 ls -alh 查看所有

3. 文件处理命令

在Linux中一切皆文件,文件夹也是文件

序号 命令 作用
1 pwd 查询所在目录位置
2 cd /root 切换所在目录
cd~ :切换到用户目录(家目录)
cd :切换到用户目录
cd - :切换到上一个访问目录
cd … :切换到上一级目录
cd . :切换到当前目录
3 touch a.txt 创建 a.txt 文件
4 mkdir xx 创建 xx 文件夹
5 mkdir -p xx/yyy/zz 创建多级目录
6 rmdir zz 删除空文件夹,如果该文件夹下有文件/文件夹,删除失败
7 rm a.txt 删除文件,删除当前文件夹下的 a.txt,需要输入 y 确认
8 rm -f a.txt 删除文件,强制删除文件 a.txt
9 rm -r zz 递归 zz 中的文件夹,直到最后一层询问是否删除,如果删除使用 y
10 rm -rf 文件/文件夹 递归删除,无提示
11 rm -rf /* 删除所有文件

4. 复制命令

  • 语法
// 拷贝文件/目录到目标目录
cp [选项] [原文件或目录] [目标目录]
序号 命令 作用
1 cp -r b.txt zz 把当前文件夹下的 b.txt 拷贝到 zz文件夹下
2 cp a.txt b.txt 在当前文件备份,把 a.txt 备份,备份文件为 b.txt
3 cp a.txt zz/b.txt 在当前文件夹下的 zz 文件夹下备份,把 a.txt 备份,备份文件为 b.txt

5. 剪切或改名命令

  • 语法
mv [原文件或目录] [目标目录]
序号 命令 作用
1 mv b.txt /root/xx/yy 把当前文件夹下的 b.txt 移动到 /root/xx/yy
2 mv b.txt a.txt 重命名,a.txt 不存在,相当于把 b.txt 重命名为 a.txt

6. 文件搜索命令

序号 命令 作用
1 whereis cd 搜索命令所在路径与帮助文档所在位置
2 which cd 搜索命令所在路径以及别名
3 echo $PATH 查看环境变量

7. 文件搜索命令

序号 命令 作用
1 find -name c.txt 搜索该文件夹下文件名为 c.txt 的文件
2 find / -name a.txt 搜索 / 下文件名为 c.txt 的文件
3 find /root -iname a.txt 查询 root 下的 a.txt,按名字查询,不区分大小写
4 find /root -user root 查询 /root 下的用户 user 中带 root 的文件,按所有者搜索
5 find /root --nouser 查找没有所有者的文件

8. Linux 中的通配符

序号 命令 作用
1 * 匹配任意内容
2 ? 匹配任意一个字符
3 [] 匹配任意一个中括号内的字符

9. 按时间查询

  • 案例
find /root -mtime +10
序号 命令 作用
1 find /root -mtime +10 查找 10 天前修改的文件
2 find /root -mtime -10 查找 10 天内修改的文件
3 find /root -mtime 10 查找 10 天当天修改的文件
4 find /root -user root 修改文件的时间
5 atime 文件访问的时间
6 ctime 改变文件属性的时间

10. 按文件大小查询

  • 案例
find / -size 25k
序号 命令 作用
1 find / -size 25k 查找等于 25KB 的文件
2 find / -size +25k 查找大于 25KB 的文件
3 find / -size -25k 查找小于 25KB 的文件
4 find / -size 25M 查找等于 25MB 的文件
5 find / -size +25M 查找大于 25MB 的文件
6 find / -size -25M 查找小于 25MB 的文件

11. 符合条件查询

  • 案例
find /etc -size +20k -a -size -50k -exec ls -lh {
     } \; 
序号 命令 作用
1 find /etc -size +20k -a -size -50k 查询 /etc 目录下,大于 20KB 并且小于 50KB 的文件
2 find /etc -size +20k -a -size -50k -exec ls -lh {} ; #查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec {} ;

12. 字符串搜索命令

  • 案例
grep [选项] 字符串 文件名 
序号 命令 作用
1 grep -i a aa 忽略大小写查询 aa 文件中的 a 字符串
2 find /etc -size +20k -a -size -50k -exec ls -lh {} ; #查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec {} ;
3 ps -ef | grep java 检查java 进程是否存在

find命令:在系统中搜索符合条件的文件名.

grep命令:在文件中搜索符合条件的字符串.

ps -ef | grep java

ps命令将某个进程显示出来;

grep命令是查找;

中间的|是管道命令 是指ps命令与grep同时执行;

PS是LINUX下最常用的也是非常强大的进程查看命令;

grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;

grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户;

以下这条命令是检查java 进程是否存在:ps -ef |grep java

字段含义如下
UID PID PPID C STIME TTY TIME CMD

zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae

UID :程序被该 UID 所拥有

PID :就是这个程序的 ID

PPID :则是其上级父程序的ID

C :CPU使用的资源百分比

STIME :系统启动时间

TTY :登入者的终端机位置

TIME :使用掉的CPU时间。

CMD :所下达的是什么指令


13. 查看帮助命令

  • 语法
man 命令名
序号 命令 作用
1 man ls 查看ls的帮助
2 ctrl + f 上一页
3 ctrl + b 下一页
4 q 退出

14. 获取命令选项的帮助

  • 语法
命令 --help
序号 命令 作用
1 ls --help 简洁版帮助,不适用内部命令,如:cd
2 help cd 命令特殊时使用

15. 查看端口号

序号 命令 作用
1 ps -ef | grep java 检查 java 进程是否存在,pid 为第一行的第串数字
2 ps -ef | grep 7465 根据进程 id 查看服务
3 netstat -tulpn 查看所有端口号
4 netstat -tunpl | grep 6379 查看 6379 端口号

16. MySQL 常用命令

序号 命令 作用
1 netstat -tulpn 查看端口号
2 service mysqld status 查看 MySQL 状态
3 service mysqld start 启动 MySQL
4 两种方式:
service mysqld stop
mysqladmin -p -u root shutdown
关闭 MySQL
5 service mysqld restart 重启 MySQL
6 cat /etc/my.cnf 查看 MySQL 配置
7 rpm -qa grep -i mysql

17. 系统服务管理 systemctl

systemctl是CentOS7的服务管理工具中主要的工具

序号 命令 作用
1 systemctl start <服务名> 启动服务
2 systemctl stop <服务名> 关闭服务
3 systemctl restart <服务名> 重启服务
4 systemctl status <服务名> 查看服务状态
5 systemctl enable <服务名> 添加开机启动项
6 systemctl disable <服务名> 禁止开机启动项
7 systemctl list-unit-files 查看开机启动项

18. 查看进程

用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。

  • ps -ef 显示出的结果:
    Linux 常用命令——超详细(建议收藏)_第1张图片
    1.UID 用户ID
    2.PID 进程ID
    3.PPID 父进程ID
    4.C CPU占用率
    5.STIME 开始时间
    6.TTY 开始此进程的TTY----终端设备
    7.TIME 此进程运行的总时间
    8.CMD 命令名

  • netstat -ap | grep ‘程序名’,查看端口占用情况
    以MySQL为例:
    netstat -ap |grep ‘mysql’

  • netstat
    直接使用netstat命令,能列出目前的活跃端口

  • netstat -ap | grep ‘端口号’,查看该端口的详细情况
    以22为例:
    netstat -ap | grep 22

18.1 查看进程

序号 命令 作用
1 ps -ef | grep java 检查 java 进程是否存在,pid 为第一行的第串数字
2 ps -ef | grep 7465 根据进程 id 查看服务
3 netstat -tulpn 查看所有端口号
4 netstat -tunpl | grep 6379 查看 6379 端口号

18.2 杀死进程

# 杀死进程一般与下面命令一起用,先查询出进程 id,然后使用命令杀死进程
ps -ef | grep java
# pid 就是前面那几个数字
kill -9 pid

19. 后台运行

nohup 命令 &


五、压缩和解压命令

1. .zip 格式

1.1 zip 压缩

  • 语法
zip 压缩文件名 原文件		// 打包命令
序号 命令 作用
1 yum install zip 安装 zip 压缩软件,需要按 2 次 y 确认
2 yum install -y zip 不需要确认的安装
3 zip cc.zip cc / zip cc cc 把 cc 文件夹压缩为 cc.zip 文件
4 zip a.zip a.txt / zip a a.txt 把 a.txt 文件压缩成 a.zip
5 rm cc.zip 删除 rm cc.zip,然后 y 确认

1.2 zip 解压缩

  • 语法
unzip 压缩文件名			// 打包命令
序号 命令 作用
1 yum install unzip 安装 zip 压缩软件,需要按 1 次 y 确认
2 yum install -y unzip 不需要确认的安装
3 unzip cc.zip / unzip cc 解压 cc.zip
4 unzip cc.zip -d /usr/local 把 cc.zip 解压到 /usr/local 目录下
5 y / n / A / N / r 解压后存在同名文件:
y:替换已存在文件;
n:不替换已存在文件;
A:替换已存在文件;
N:不覆盖;
r:重新给个名字

2. .gz 格式

  • 语法
gzip 源文件		// 打包命令
序号 命令 作用
1 yum install gzip 安装 gzip 压缩软件
2 gzip 源文件 压缩文件,源文件会消失
3 gzip -r 文件夹 遍历文件夹,压缩文件夹中文件,文件夹不压缩
4 gunzip 压缩文件 解压缩文件
5 gzip -d 压缩文件 解压缩文件
6 gunzip -r 压缩文件夹 遍历压缩文件夹,解压里面的文件

3. .bz2 格式(拓展)

  • 语法
bzip2 源文件		// 打包命令
序号 命令 作用
1 yum install bzip2 安装 bzip2 压缩软件
2 bzip2 源文件 压缩文件,源文件会消失
3 bizp2 -k 源文件 压缩文件,源文件不会消失
4 bunzip2 压缩文件 解压缩文件,压缩文件消失
5 bzip -d 压缩文件 解压缩文件,压缩文件消失
6 bunzip2 -k 压缩文件 解压缩文件,压缩文件不会消失
7 bzip -d -k 压缩文件 解压缩文件,压缩文件不会消失

注意:bzip2 命令不能压缩文件夹

.bz2和.gz的区别:

1).bz2和.gz都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件;

2)前者比后者压缩率更高,后者比前者花费更少的时间。也就是说同一个文件,压缩后,.bz2文件比.gz文件更小,但是.bz2文件的小是以花费更多的时间为代价的。


4. .tar.gz格式 (重点)

其实.tar.gz格式是先打包为tar格式,在压缩为.gz格式

  • 语法
tar -cvf 打包文件名 源文件			// 打包命令
序号 命令 作用
1 yum install tar 安装 tar 压缩软件
2 tar -cvf 打包文件名 源文件 -c:打包
-v:显示过程
-f:指定打包后的文件名
3 tar -cvf a.tar a.txt 把 a.txt 文件打包成 a.tar 文件
4 tar -xvf a.tar 把 a.tar 文件解压
5 tar -zcvf a.tar.gz a.txt 把 a.txt 压缩成 a.tar.gz
-z:压缩为 .tar.gz 格式
6 tar -zxvf a.tar.gz 把 a.tar.gz 解压到当前文件夹
7 tar -zxvf 压缩包名.tar.gz -C 指定目录 解压缩文件到指定目录

六、关机和重启命令

1. 关机命令

1.1 shutdown 命令

  • 语法
shutdown [选项] 时间
序号 命令 作用
1 shutdown [选项] 时间 选项:
-c:取消前一个关机命令
-h:关机
-r:重启
2 shutdown -c 取消上一个关机命令
3 shutdown -h 时间 多少时间后关机
4 shutdown -h now 马上关机
5 shutdown -f 重启

1.2 其他关机、重启命令

序号 命令 作用
1 halt 【1】-n : 在关机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
【2】-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
【3】-f : 强迫关机,不呼叫 shutdown 这个指令
【4】-i : 在关机之前先把所有网络相关的装置先停止
【5】-p : 当关机的时候,顺便做关闭电源(poweroff)的动作
2 poweroff 关机,不保存数据
3 init 0 【1】init 0:关机
【2】init 6:重启
【3】init 3:切换字符界面
【4】inti 5:切换可视化界面
4 reboot 重启
5 init 6 重启

2. 查看任务进程

命令:top

每行代表意思:

任务进程

第一行:

10:01:23 — 当前系统时间

126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)

2 users — 当前有2个用户登录系统

load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

第二行:

Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行:cpu状态

6.7% us — 用户空间占用CPU的百分比。

0.4% sy — 内核空间占用CPU的百分比。

0.0% ni — 改变过优先级的进程占用CPU的百分比

92.9% id — 空闲CPU百分比

0.0% wa — IO等待占用CPU的百分比

0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

0.0% si — 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态

8306544k total — 物理内存总量(8GB)

7775876k used — 使用中的内存总量(7.7GB)

530668k free — 空闲内存总量(530M)

79236k buffers — 缓存的内存量 (79M)

第五行:swap交换分区

2031608k total — 交换区总量(2GB)

2556k used — 使用的交换区总量(2.5M)

2029052k free — 空闲交换区总量(2GB)

4231276k cached — 缓冲的交换区总量(4GB)

第五行以下:

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)


3. 查看内存占用:free

内存占用情况:

total:内存总数;

used:已经使用的内存数;

free:空闲的内存数;

buffers Buffer:缓存内存数;

cached Page:缓存内存数。


4. 查看操作历史

序号 命令 作用
1 history 用于显示执行过的历史命令记录

5. 在显示器输出内容

序号 命令 作用
1 echo 在显示器输出内容

6. 文件查看命令

序号 命令 作用
1 cat 整个文件的内容显示出来
2 tail 默认在显示屏上显示指定文件的末尾10行;
参数:
-f 显示文件最新追加的内容;
-行数 在屏幕上显示指定文件的末尾参数设置的行数;

七、vi 编辑器

1. 编辑器的三种模式

【1】编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式

【2】输入模式:大部分机键动作都会理解为输入的字符

【3】末行模式:在末行模式,输入很多文件管理命令

模式之间的相互转换:

  • 编辑–>输入

    i:在光标所在字符前开始插入

    a:在光标所在字符后开始插入

    o:在光标所在行的下面另起一新行插入

    s:删除光标所在的字符并开始插入

    I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入

    A:在光标所在你行的行尾开始插入

    O:在光标所在行的上面另起一行开始插入

    S:删除光标所在行并开始插入

  • 输入模式–>编辑模式

    ESC(键盘左上方的按键)

  • 编辑模式—>末行模式

    :

  • 末行模式:–>编辑模式

    ESC(键盘左上方的按键)(一次或者多次)


2. 打开和关闭文件

序号 命令 作用
1 vi /path/to/a.txt 打开文件
2 在末行模式下:
wq:保存退出;
q!:不保存退出;
关闭文件

3. 移动光标

  • 逐字符移动:

    h:左移动

    l:右移动

    j:向下移动

    k:向上移动

  • 行内跳转:

    0:跳转到行首

    $: 跳转到行尾

    行间跳转;(末行模式)

    num: 跳转到某一行(末行模式)

    G: 跳转行最后一行(编辑模式)

    gg: 跳转到第一行(编辑模式)


4. 翻屏操作

  • 在编辑模式下

    ctrl+f 向下翻一页

    ctrl+b 向上翻一页


5. 删除命令

先 vi 文件名,进入改文件

dd:删除光标所在行 (编辑模式);

3dd:从光标行开始删除3行(编辑模式);
1,4d 删除第一行到第四行(末行模式),必须有4行才能删除;

6. 查找和替换

  • 文件的查找

    /parttern 从前往后查找

    ?parttern 从后往前查找

    n: 下一个匹配的字符串

    N: 上一个匹配的字符串

  • 文本的替换(末行模式)

    startNum,endNums/partter/string/gi

    g:全局替换

    i:忽略大小写

    %s/f/F/gi

    :.,$s/F/f/gi

    /关键字 按n找下一个

    set number 设置行号 或者 set nu

    取消行号:set nu!


八、权限管理

1. 用户管理

1.1 计算资源:(一切皆文件)

权限:定义资源或服务的访问能力,称之为权限

定义某一个特定的人资源或者服务的访问能力, 用户

定义一类用户具有访问某个资源或服务的能力. 用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限

定义一个资源的权限:

​ ① 用户具有该资源的权限(文件所有者,属主)

​ ② 用户组具有该资源的权限(属组)

​ ③ 其他用户(既不是属主,也不是属组)

文件权限:

r, 可读 可以执行类似cat命令的操作

w, 可写 可以编辑或者删除此文件

x 可执行


1.2 添加用户

创建用户 :useradd [用户名]

创建用户并分配一个组:useradd -G [组名] [用户名]

查看系统用户:cat /etc/passwd

1 用户名

2 用户的密码,用x替代

3 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。

4 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。

5 用户的账号说明解释

6 用户的家目录文件夹

7 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。


1.3 添加组

查看系统用户组:cat /etc/group


1.4 修改用户组属性

修改用户组属性

usermod -G [组名] [用户名]


1.5 删除用户

删除用户:

-f:强制删除用户,即使用户已登录

-r:删除与用户相关的所有文件。


1.6 修改密码

passwd 用户名

切换用户: su 用户名


2. 文件基本权限(杀死进程)

2.1 文件权限解释

-rw-r–r-- 1 文件类型(- 文件 d 目录 I 软链接文件)

​  rw-         r--         r–

​ u所有者        g所属组        o其他人

r读
w写
x执行

-rw-r–r--. 1 root root 12288 Aug 22 2019 aliases.db

以上内容代表的含义:
权限的数字表示

代码 含义
- 类型
rw- 所有者读写权限
r- - 所属组读写权限
r- -. 其他人读写权限
1 硬链接次数
root 所属用户
root 所属用户主
12288 文件大小
Aug 22 2019 文件修改时间
aliases.db 文件名

2.2 添加权限

chmod [选项] 模式 文件名

​ 选项

 -R     递归

​ 模式

​ [guoa] [±=] [rwx]

​ [mode=421]


2.3 修改权限的方式

chmod [选项] 模式 文件名

​ [guoa] [±=] [rwx]

g: groud

u: user

o: other

a: all

修改权限的方式:

chmod u+x 文件

#给当前用户添加指定文件的x执行权限

chmod g+w,o+w 文件

#给该文件用户组合其他人添加指定文件的w写的权限

chmod a=rwx 文件

#给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限


2.4 权限的数字表示

chmod [选项] 模式 文件名

​ [mode=421]

r :4
r-- : 100

w :2
-w- :010

x :1
–x :001

例子:
权限的数字表示

数字 代表的权限
Harry Potter Gryffindor
Hermione Granger Gryffindor
Draco Malfoy Slytherin

111—>7 rwx

110—>6 rw-

100—>4 r–

0 —

1 --x

2 -w-

3 -wx

4 r–

5 r-x

6 rw-

7 rwx

示例:

rwx r-x r-x

7 5 5

chmod 755 文件

aa.txt —>

拥有者: 可读可写 rw- 6

所述组: 可读写执行 r-x 5

其他人: 可读可写可执行 rwx 7

chmod 657 aa.txt


2.5 其他权限命令

  • 修改文件的所有者

chown 用户名 文件名

  • 修改文件的所属组

chgrp 组名 文件名


2.6 sudo权限

root把本来只能超级用户执行的命令赋予普通用户执行.

sudo的操作对象是系统命令

visudo

#实际修改的是/etc/sudoers文件

root ALL=(ALL) ALL

#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

%wheel ALL=(ALL) ALL

#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)

useradd dafei

passwd admin

dafei ALL = (ALL) /usr/sbin/shutdown

切换到dafei用户后

使用sudo命令执行shutdown

sudo shutdown -h now


九、网络管理

1. 网络中的基本概念

  • 网络的基本概念

​ 1)ip地址:在网络通信中主机的标识符(好比手机号码);

​ 2)mac地址:主机的物理网卡的唯一标识符(好比身份证号码);

​ 3)子网掩码:用于区分主机的IP地址中的网络地址和主机地址,并由此确定该主机的IP地址的网段;

​ 4)网关:就是一个网络中的主机连接到另一个网络的主机的关口;

​ 5)DNS:域名解析服务器,把域名解析成对应的IP地址;


2. 防火墙

centos7的防火墙程序服务名为:firewalld

序号 命令 作用
1 firewalld 开启防火墙
2 systemctl stop firewalld
systemctl disable firewalld
关闭防火墙
3 firewall-cmd --state 查看防火墙状态
4 firewall-cmd --zone=public --list-ports 查看所有打开的端口
5 firewall-cmd --zone=public --add-port=端口号/tcp --permanent(
–permanent参数为永久生效,不加则重启后失效)
开启端口
6 firewall-cmd --reload 更新防火墙规则
7 firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
删除端口
8 firewall-cmd 防火墙配置
9 firewall-cmd --help 防火墙帮助

3. ifcfg-eth解释

文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3…(这里面的文件是相当重要的,涉及到网络能否正常工作)。

TYPE=Ethernet #网卡类型

DEVICE=eth0 #网卡接口名称

ONBOOT=yes #系统启动时是否自动加载

BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议

IPADDR=192.168.1.11 #网卡IP地址

NETMASK=255.255.255.0 #网卡网络地址

GATEWAY=192.168.1.1 #网卡网关地址

DNS1=8.8.8.8 #网卡DNS地址

BROADCAST=192.168.1.255 #网卡广播地址

查看ip:

ip addr

TYPE=“Ethernet”

BOOTPROTO=“static”

IPADDR=“192.168.124.130”

NETMASK=“255.255.255.0”

GATEWAY=“192.168.124.2”

DNS1=“8.8.8.8”

BROADCAST=“192.168.124.255”

ONBOOT=“yes”

重启服务

systemctl restart network

/usr/local/software/project1


总结

上面就是 Linux 常用命令的总结了,代码仅供参考,欢迎讨论交流。

你可能感兴趣的:(Linux,linux)