linux命令总结
今天来写一篇博文回忆一下之前学的linux命令,之前学的linux命令由于长时间的不用感觉已经忘记的差不多了。
- Linux命令格式
命令名称 【命令参数】【命令对象】
Linux中的命令参数,长格式和长格式不能合并且是–
短格式和短格式可以合并,只用一个-连接 - 文件路径写法形式
~表示当前用户的主目录
/表示根目录
绝对路径:基于根目录进行定位
相对路径:基于当前目录进行定位,一个点号(.)表示当前目录,两个点号(…)表示当前目录的上层目录 - man命令
文档结构:
文档结构 | 具体含义 |
---|---|
name | 命令的名称 |
synopsis | 参数的大致使用方法 |
description | 参数介绍说明 |
examples | 演示示例 |
overview | 概述 |
defaults | 默认的功能 |
options | 具体的可选选项 |
environment | 环境变量 |
files | 用到的文件 |
see also | 相关的资料 |
history | 维护历史与联系方式 |
- pwd 命令:查看当前所在目录
[root@LNMP_MengYiLun ~]# pwd
/root
[root@LNMP_MengYiLun ~]#
- cd命令
cd /etc 进入到etc目录
cd - 进入到上一次工作目录
cd… 进入上一级目录
cd ~ 进入当前用户的家目录
[root@LNMP_MengYiLun ~]# cd /mnt/
[root@LNMP_MengYiLun mnt]# cd /etc
[root@LNMP_MengYiLun etc]# cd -
/mnt
[root@LNMP_MengYiLun mnt]# cd ..
[root@LNMP_MengYiLun /]# cd ~
- ls命令:显示当前目录中的文件信息
参数:
参数 | 作用 |
---|---|
-a | 查看全部文件(包括隐藏文件(以点开头 |
-l | 查看文件的属性、大小等详细信息 |
-d | 查看目录的属性等详细信息 |
- touch 命令
用法:touch 参数 文件
作用:修改文件的atime和mtime 或者创建一个空白文件
时间 | 含义 |
---|---|
atime | 最后一次查看文件内容的时间 |
mtime | 最后一次修改文件内容的时间 |
ctime | 最后一次修改文件权限的时间 |
[root@LNMP_MengYiLun ~]# touch a.tt
[root@LNMP_MengYiLun ~]# ls -l a.t
ls: cannot access a.t: No such file or directory
[root@LNMP_MengYiLun ~]# ls -l a.tt
-rw-r--r-- 1 root root 0 Feb 23 11:20 a.tt
[root@LNMP_MengYiLun ~]# echo test >a.tt
[root@LNMP_MengYiLun ~]# ls -l a.tt
-rw-r--r-- 1 root root 5 Feb 23 11:21 a.tt
[root@LNMP_MengYiLun ~]# touch -d '2020-02-22 11:20' aa.tt
[root@LNMP_MengYiLun ~]# ls -l a.tt
-rw-r--r-- 1 root root 5 Feb 23 11:21 a.tt
[root@LNMP_MengYiLun ~]# touch -d '2020-02-22 11:20' a.tt
[root@LNMP_MengYiLun ~]# ls -l a.tt
-rw-r--r-- 1 root root 5 Feb 22 11:20 a.tt
- mkdir 命令:在当前目录下创建目录,上级目录不存在,可使用-p参数递归
[root@LNMP_MengYiLun ~]# mkdir 123
[root@LNMP_MengYiLun ~]# mkdir 123/123/123
mkdir: cannot create directory ‘123/123/123’: No such file or directory
[root@LNMP_MengYiLun ~]# mkdir 123/123/123 -p
[root@LNMP_MengYiLun ~]# tree 123
123
└── 123
└── 123
2 directories, 0 files
- cp 命令 复制文件
用法:cp 参数 源文件 目标文件
参数 作用
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
[root@LNMP_MengYiLun ~]# cp aa.tt ab.tt
[root@LNMP_MengYiLun ~]# cat ab.tt
[root@LNMP_MengYiLun ~]# ls
{0-9} file{0-9}.txt flie2 hell_hard.sh
123 file1.txt flie3 hello_link.sh
aa.tt file2.txt flie4 Identity.pub
ab.tt file3.txt flie5 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
a.tt file4.txt flie6 test.tar.gz
a.txt file5.txt flie7 wordpress532zhcn.zip
dir01 flie0 flie8
file[0-9].txt flie1 flie9
[root@LNMP_MengYiLun ~]# cp 123 file0 -r
[root@LNMP_MengYiLun ~]# ls file0
123
[root@LNMP_MengYiLun ~]#
- rm 命令
用法:rm 参数[-r-f] 文件名
作用:删除一个文件或目录(-r用于删除一个目录 | -f不询问直接删除)
[root@LNMP_MengYiLun ~]# ls
{0-9} a.txt flie3 flie8 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
123 dir01 flie4 flie9 test.tar.gz
aa.tt flie0 flie5 hell_hard.sh wordpress532zhcn.zip
ab.tt flie1 flie6 hello_link.sh
a.tt flie2 flie7 Identity.pub
[root@LNMP_MengYiLun ~]# rm -rf flie*
[root@LNMP_MengYiLun ~]# ls
{0-9} a.txt mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
123 dir01 test.tar.gz
aa.tt hell_hard.sh wordpress532zhcn.zip
ab.tt hello_link.sh
a.tt Identity.pub
[root@LNMP_MengYiLun ~]#
- mv 命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
[root@LNMP_MengYiLun ~]# mv a.tt b.tt
[root@LNMP_MengYiLun ~]#
- renname命令 修改文件名
[root@LNMP_MengYiLun ~]# rename aa.tt at.tt aa.tt
[root@LNMP_MengYiLun ~]# ls at.tt - tar命令
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
压缩:tar 参数(czvf) 压缩文件名 被压缩的文件夹
解压:tar 参数(xzvf) 压缩文件名 [-C 解压到指定目录]
查看包内容 用tar -tf
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
[root@LNMP_MengYiLun ~]# tar czvf tt.tar.gz a.tt ab.tt
a.tt
ab.tt
[root@LNMP_MengYiLun ~]# tar tf tt.tar.gz
扩展
-
zip:压缩包后缀名为.zip,常用参数-r(创建压缩包),解压和查看压缩包内容使用unzip命令,常用参数为-
l(查看压缩包内容)
tar.bz2:压缩包后缀名为.tar.bz2,常用参数有-jcvf(创建压缩包)、-jtvf(查看压缩包)、-jxvf(解压)
tar.xz:压缩包后缀名为.tar.xz,常用参数有-Jcvf(创建压缩包)、-Jtvf(查看压缩包)、-Jxvf(解压) -
ln 创建链接文件,分为软链接(即符号链接,要带上-s参数)和硬链接两种
root@LNMP_MengYiLun ~]# ln -s a.txt c.txt
[root@LNMP_MengYiLun ~]# ls -l
total 642912
drwxr-xr-x 2 root root 4096 Feb 15 14:57 {0-9}
drwxr-xr-x 3 root root 4096 Feb 23 11:25 123
-rw-r--r-- 1 root root 0 Feb 23 11:30 ab.tt
-rw-r--r-- 1 root root 0 Feb 22 11:20 at.tt
-rw-r--r-- 1 root root 0 Feb 21 11:33 a.txt
-rw-r--r-- 1 root root 5 Feb 22 11:20 b.tt
lrwxrwxrwx 1 root root 5 Feb 23 12:39 c.txt -> a.txt
drwxr-xr-x 2 root root 4096 Feb 14 22:18 dir01
-rwx------ 2 stu stu 15 Feb 14 21:40 hell_hard.sh
lrwxrwxrwx 1 root root 13 Feb 15 13:28 hello_link.sh -> /tmp/hello.sh
-rw-r--r-- 1 root root 360 Feb 13 18:20 Identity.pub
-rw-r--r-- 1 root root 644869837 Jan 13 15:32 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root 45 Feb 15 14:58 test.tar.gz
-rw-r--r-- 1 root root 142 Feb 23 11:36 tt
-rw-r--r-- 1 root root 145 Feb 23 11:50 tt.tar.gz
-rw-r--r-- 1 root root 13427856 Feb 14 13:51 wordpress532zhcn.zip
[root@LNMP_MengYiLun ~]# ln c.txt d.txt
[root@LNMP_MengYiLun ~]# ;s
-bash: syntax error near unexpected token `;'
[root@LNMP_MengYiLun ~]# ls -
ls: cannot access -: No such file or directory
[root@LNMP_MengYiLun ~]# ls -l
total 642912
drwxr-xr-x 2 root root 4096 Feb 15 14:57 {0-9}
drwxr-xr-x 3 root root 4096 Feb 23 11:25 123
-rw-r--r-- 1 root root 0 Feb 23 11:30 ab.tt
-rw-r--r-- 1 root root 0 Feb 22 11:20 at.tt
-rw-r--r-- 1 root root 0 Feb 21 11:33 a.txt
-rw-r--r-- 1 root root 5 Feb 22 11:20 b.tt
lrwxrwxrwx 2 root root 5 Feb 23 12:39 c.txt -> a.txt
drwxr-xr-x 2 root root 4096 Feb 14 22:18 dir01
lrwxrwxrwx 2 root root 5 Feb 23 12:39 d.txt -> a.txt
-rwx------ 2 stu stu 15 Feb 14 21:40 hell_hard.sh
lrwxrwxrwx 1 root root 13 Feb 15 13:28 hello_link.sh -> /tmp/hello.sh
-rw-r--r-- 1 root root 360 Feb 13 18:20 Identity.pub
-rw-r--r-- 1 root root 644869837 Jan 13 15:32 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root 45 Feb 15 14:58 test.tar.gz
-rw-r--r-- 1 root root 142 Feb 23 11:36 tt
-rw-r--r-- 1 root root 145 Feb 23 11:50 tt.tar.gz
-rw-r--r-- 1 root root 13427856 Feb 14 13:51 wordpress532zhcn.zip
- cat 命令:查看小文件的内容
-n显示行号
[root@LNMP_MengYiLun ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 BOOTPROTO=dhcp
3 ONBOOT=yes
- more命令:查看长文件
空格翻一行,回车翻一页
[root@LNMP_MengYiLun ~]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
--More--(62%)
- head 命令查看文件前n行
常用参数 -n
[root@LNMP_MengYiLun ~]# head -n 10 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@LNMP_MengYiLun ~]#
- tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
[root@LNMP_MengYiLun ~]# tail -f /var/log/messages
Feb 23 11:50:01 LNMP_MengYiLun systemd: Started Session 506 of user root.
Feb 23 12:00:01 LNMP_MengYiLun systemd: Started Session 507 of user root.
Feb 23 12:01:01 LNMP_MengYiLun systemd: Started Session 508 of user root.
Feb 23 12:10:01 LNMP_MengYiLun systemd: Started Session 509 of user root.
Feb 23 12:20:01 LNMP_MengYiLun systemd: Started Session 510 of user root.
Feb 23 12:30:01 LNMP_MengYiLun systemd: Started Session 511 of user root.
Feb 23 12:40:01 LNMP_MengYiLun systemd: Started Session 512 of user root.
Feb 23 12:50:01 LNMP_MengYiLun systemd: Started Session 513 of user root.
Feb 23 13:00:01 LNMP_MengYiLun systemd: Started Session 514 of user root.
Feb 23 13:01:01 LNMP_MengYiLun systemd: Started Session 515 of user root.
- PS命令 :用于查看系统中的进程状态 ,常用参数-e和-aux
[root@LNMP_MengYiLun ~]# ps -e
[root@LNMP_MengYiLun ~]# ps -aux
-
top :实时刷新显示系统中的所有进程信息
-
pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。 -
kill: 结束进程,常用参数-9
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。 -
killall: 通过名字结束进程
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。 -
&: 在一条命令的末尾带上该符号可以让其在后台执行
CTRL+C组合键: 强制结束当前正在前台运行的命令
CTRL+Z组合键: 将当前正在前台运行的命令调到后台,并暂停它的运行 -
fg: foreground,将后台任务调到前台运行
-
bg: background,将后台暂停的任务运行起来
[root@LNMP_MengYiLun ~]# vim at.tt &
[1] 13240
[root@LNMP_MengYiLun ~]#
[1]+ Stopped vim at.tt
[root@LNMP_MengYiLun ~]# vim at.tt &
[2] 13241
[root@LNMP_MengYiLun ~]# bg
[2]+ vim at.tt &
[root@LNMP_MengYiLun ~]# fg
vim at.tt
-
ping: 检查当前机器和目标机器之间的网络连接是否通畅
-
ifconfig: 查看当前系统的网络配置信息(比如IP地址、MAC地址等)
-
netstat: network state,查看当前网络状态信息
-
w: 显示所有已登录用户的信息
-
poweroff: 关机
-
reboot: 重启
-
groupadd: 创建一个新组群
groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。 -
groupdel: 删除一个已存在的组群
-
groupmod: 修改一个已存在组群的属性信息
-
useradd: 创建一个新用户
useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。
参数 | 作用 |
---|---|
-d | 指定用户的家目录(默认为/home/username) |
-e | 账户的到期时间,格式为YYYY-MM-DD. |
-u | 指定该用户的默认UID |
-g | 指定一个初始的用户基本组(必须已存在) |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的基本用户组 |
-s | 指定该用户的默认Shell解释器 |
- passwd: 给指定用户设置密码
参数 | 作用 |
---|---|
-l | 锁定用户,禁止其登录 |
-u | 解除锁定,允许用户登录 |
–stdin | 允许通过标准输入修改用户密码,如echo “NewPassWord” |
-d | 使该用户可用空密码登录系统 |
-e | 强制用户在下次登录时修改密码 |
-S | 显示用户的密码是否被锁定,以及密码所采用的加密算法名称 |
passwd | 命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。 |
- userdel: 删除一个已存在的用户
userdel命令用于删除用户,格式为“userdel [选项] 用户名”。
参数 | 作用 |
---|---|
-f | 强制删除用户 |
-r | 同时删除用户及用户家目录 |
- usermod: 修改一个已存在用户的属性信息
usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
参数 | 作用 |
---|---|
-c | 填写用户账户的备注信息 |
-d -m | 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去 |
-e | 账户的到期时间,格式为YYYY-MM-DD |
-g | 变更所属用户组 |
-G | 变更扩展用户组 |
-L | 锁定用户禁止其登录系统 |
-U | 解锁用户,允许其登录系统 |
-s | 变更默认终端 |
-u | 修改用户的UID |
- cat /etc/passwd: 查看系统中所有用户的信息
- id: 查看指定用户的信息
- exit: 注销当前登录用户
- su: select user,选择用户