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下。 例如: 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 ~]# 解析:
2. 命令格式命令 [选项] [参数]
四、常用命令1. 基本命令
2. 文件查询命令语法: 命令 [选项] [参数]
3. 文件处理命令在Linux中一切皆文件,文件夹也是文件
4. 复制命令语法: // 拷贝文件/目录到目标目录 cp [选项] [原文件或目录] [目标目录]
5. 剪切或改名命令语法: mv [原文件或目录] [目标目录]
6. 文件搜索命令
7. 文件搜索命令
8. Linux 中的通配符
9. 按时间查询案例 find /root -mtime +10
10. 按文件大小查询案例 find / -size 25k
11. 符合条件查询案例
12. 字符串搜索命令案例
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. 查看帮助命令语法:
14. 获取命令选项的帮助语法:
五、压缩和解压命令1. .zip 格式1.1 zip 压缩语法
1.2 zip 解压缩语法
2. .gz 格式语法
3. .bz2 格式(拓展)语法
注意:bzip2 命令不能压缩文件夹 .bz2和.gz的区别: 1).bz2和.gz都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件; 2)前者比后者压缩率更高,后者比前者花费更少的时间。也就是说同一个文件,压缩后,.bz2文件比.gz文件更小,但是.bz2文件的小是以花费更多的时间为代价的。 4. .tar.gz格式 (重点)其实.tar.gz格式是先打包为tar格式,在压缩为.gz格式 语法:
六、关机和重启命令1. 关机命令1.1 shutdown 命令语法
1.2 其他关机、重启命令
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. 查看操作历史
5. 在显示器输出内容
6. 文件查看命令
七、vi 编辑器1. 编辑器的三种模式【1】编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式 【2】输入模式:大部分机键动作都会理解为输入的字符 【3】末行模式:在末行模式,输入很多文件管理命令 模式之间的相互转换:
2. 打开和关闭文件
3. 移动光标
4. 翻屏操作
5. 删除命令先 vi 文件名,进入改文件 dd:删除光标所在行 (编辑模式);
6. 查找和替换
八、权限管理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-- - 文件类型(- 文件 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 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 2.7 系统服务管理systemctl是CentOS7的服务管理工具中主要的工具 启动服务:systemctl start <服务名> 关闭服务:systemctl stop <服务名> 重启服务:systemctl restart <服务名> 查看服务状态:systemctl status <服务名> 添加开机启动项:systemctl enable <服务名> 禁止开机启动项:systemctl disable <服务名> 查看开机启动项:systemctl list-unit-files 2.8 进程查看用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。 ps -ef 显示出的结果: 1.UID 用户ID 2.PID 进程ID 3.PPID 父进程ID 4.C CPU占用率 5.STIME 开始时间 6.TTY 开始此进程的TTY----终端设备 7.TIME 此进程运行的总时间 8.CMD 命令名 2.9 杀死进程kill -9 pid 九、网络管理1. 网络中的基本概念
1)ip地址:在网络通信中主机的标识符(好比手机号码); 2)mac地址:主机的物理网卡的唯一标识符(好比身份证号码); 3)子网掩码:用于区分主机的IP地址中的网络地址和主机地址,并由此确定该主机的IP地址的网段; 4)网关:就是一个网络中的主机连接到另一个网络的主机的关口; 5)DNS:域名解析服务器,把域名解析成对应的IP地址; 2. 防火墙centos7的防火墙程序服务名为:firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
3. ifcfg-eth解释文件 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 常用命令的总结了,代码仅供参考,欢迎讨论交流。 |
|