Linux常用命令(超详细)
Posted 山未孤う
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令(超详细)相关的知识,希望对你有一定的参考价值。
目录
1、写在前面的话
在我们使用Linux系统时,学习基本的命令有大作用, 做项目中,不少工作好几年的程序员,在操作Linux时特别生疏,只会最基本的几个命令:cd、ls mkdir 等。vim编辑器的操作更是让人看了很着急,被誉为编辑器之神的vim在他们手中,完全没有半点灵气,感觉就像是编辑器之屎。之所以会出现这种现象,很大原因在于他们的学习方式错了,不少人都知道Linux很重要,不掌握Linux,基本上就只能停留在最基本的增删改查功能上。他们学Linux的方式可能是看书,也可能是看视频,甚至有些还会去背命令,但由于他们的操作环境是windows,Linux的应用场景很少。根本没办法将所学的知识运用,更加感受不到Linux的魅力。学Linux最好地方式,就是直接去用!直接将自己的开发环境都改成Linux,一开始很蹩脚,很不适应,这很正常。如果你一直感到很舒服,只能说明你一直没有进步。想想我们学了那么多年英语,绝大多数人还是无法掌握英语,看到英语文档就直接自动屏蔽。其原因都是:一直在学,但从来没在用。只学而不用,没有半点用。本次实验,我们边学边用,适合新手,目的掌握基本的Linux命令
2、常用命令
2.1、常用命令的使用:
2.1.1、pwd命令
介绍:pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。
实例:打开Linux终端,输入pwd,再按Enter,显示用户当前所在目录
2.1.2、cd命令
介绍:cd命令不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致。 如:
cd ..可进入上一层目录
cd -可进入上一个进入的目录
cd ~可进入用户的home目录
实例:
2.1.3、cp命令
介绍:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
实例:将aaa.txt拷贝,命名为bbb.txt,将以txt结尾的文档拷贝到Finished目录下
2.1.4、mv命令
介绍:将一个档案移至另一档案,或将数个档案移至另一目录。
实例:将档案aaa.txt更名为bbb.txt,并且将所有以txt结尾的转移到test目录下,参数-i 表示若目的地已有同名档案,则先询问是否覆盖旧档。
2.1.5、chmod命令
介绍:Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
mode : 权限设定字串,格式如下 : [ugoa...][+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。还可以用chmod abc file 来设置
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
实例:
结果解释:chmod ugo+r aaa.txt命令与chmod a+r aaa.txt命令效果相同,都是设为所有人可读,chmod ug+w,o-w aaa.txt bbb.txt表示将文档aaa.txt和bbb.txt设为该档案拥有者(u)和同一群体者(g)可以写,其他人(o)不能写。此外chmod也可以用数字来表示权限如 chmod 777 file
2.1.6、ls命令
介绍:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
使用方式:ls [-alrtAFR] [name...]
实例:
结果解释:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr a*
将 /Finished 目录以下所有目录及档案详细资料列出 :
ls -lR ./Finished/
列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
ls -AF
2.1.7、rm命令
介绍:删除档案及目录。
使用方式:rm [options] name...
实例:
结果解释:
删除所有txt文档;删除前逐一询问确认 :
rm -i *.txt
将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished
2.1.8、rmdir
介绍:删除空的目录。
使用方式: rmdir [-p] dirName
实例:
结果解释:
rmdir AAA 能将工作目录下,名为 AAA 的子目录删除 :
rmdir -p BBB/Test目的是,在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
2.1.9、touch命令
介绍:touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
实例:创建两个文档,用-c -t把file1的时间记录改为3.24日14:40分,把file2的时间记录改为与file1一致,也可以用-d 使用其他格式的日期。
2.2.0、gzip命令
介绍:gzip命令用于压缩文件。
实例:
结果解释:gzip aaa.txt ,该命令用于对aaa.txt文件的压缩,这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件aaa.txt.gz。 使用ls命令可以查看aaa.txt.gz文件,解压缩文件可用gzip -d命令实现: gzip -d aaa.txt.gz ,这样就可以解压缩文件并删除gz扩展名。
2.2.1、tar命令
介绍:tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
实例:
结果解释:tar xvf ye.tar命令可以将ye.tar档案中的内容取到当前目录当中,如下图,将我们之前用tar cvf ye.tar *命令创建的压缩文档内容提取到当前目录当中。而新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了,如下图,tar czvf ye.tar *.txt可以生成ye.tar.gz压缩文档,tar tzvf ye.tar *.txt用来查看ye.tar.gz的内容,tar xzvf ye.tar *.txt可以取出ye.tar.gz的内容。
2.2.2、mail命令
介绍:mail 不仅只是一个指令, mail 还是一个电子邮件程序。
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
实例:mail 2331716211@qq.com,将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。系统会提示输入“subject”
2.2.3、wall命令
介绍:wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。
使用方式:wall [ message ]
实例:传讯息"hi" 给每一个使用者 :
3、心得体会
通过这次小实验,使我更加了解Linux一些常用指令的操作以及其作用,对于一个刚开始接触lniux操作系统的初学者来说非常有用,助于以后能够更进一步学习Linux操作系统。同时,Linux基本命令有很多的参数,需要我们非常准确的记住各种命令,一旦记错就不会准确执行,在日后的使用中,还要勤加训练。
Linux 常用命令(超详细)
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 | 命令特殊时使用 |
五、压缩和解压命令
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 | 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--
- 文件类型(- 文件 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
-
防火墙帮助:firewall-cmd --help
-
查看防火墙状态:firewall-cmd --state
-
查看所有打开的端口:firewall-cmd --zone=public --list-ports
-
开启端口:firewall-cmd --zone=public --add-port=端口号/tcp --permanent(–permanent参数为永久生效,不加则重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
-
更新防火墙规则:firewall-cmd --reload
-
删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
-
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
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常用命令(超详细)的主要内容,如果未能解决你的问题,请参考以下文章