[jerryjin@localhost ~]$
开关机控制
sync 同步内存数据到硬盘
[root@localhost /]# sync
命令 | 说明 | 别名 |
---|---|---|
shutdown -h now | 立刻关机 | poweroff or halt |
shutdown -h 5 | 5分钟后 关机 | |
shutdown -h 5:20 | 5点20分 关机 | |
shutdown -r now | 立刻重启 | reboot |
shutdown -r 5 | 5分钟后 重启关机 | |
shutdown -r 5:20 | 5点20 分重启 |
目录和文件 基础操作
- Ctrl + C 终断
- Ctrl + L 清屏
clear
清屏
查看当前路径 pwd
[root@localhost /]# pwd
/
目录含义
路径 | 说明 | 例如 |
---|---|---|
/ | 根路径 | root@localhost ~ |
~ | 当前用户的主目录 | 普通用户:/home/用户名 root: /root |
路径访问 cd
[jerryjin@localhost ~]$ cd .. # 上退一级
[jerryjin@localhost ~]$ cd ../usr/local # 进入。相对路径
[jerryjin@localhost ~]$ cd /usr/local # 进入。绝对路径
[jerryjin@localhost ~]$ cd / # 进入根路径
[jerryjin@localhost ~]$ cd # 进入当前用户主目录。普通用户回自己的home,root回到/root
[jerryjin@localhost ~]$ cd ~ # 同上
[jerryjin@localhost ~]$ cd - # 后退到跳转前的目录
文件夹操作 mkdir
[jerryjin@localhost ~]$ mkdir /usr/local/tmp # 创建文件夹
查看目录内容 ls、ll
ll 详情
[jerryjin@localhost ~]$ ll
ls 平铺
[jerryjin@localhost ~]$ ls
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
ls -la 列表形式显示全部(包括隐藏)
[jerryjin@localhost ~]$ ls -la
total 68
dr-xr-xr-x. 18 root root 4096 Aug 29 19:49 .
dr-xr-xr-x. 18 root root 4096 Aug 29 19:49 ..
-rw-r--r-- 1 root root 0 Apr 26 2020 .autorelabel
lrwxrwxrwx. 1 root root 7 Apr 26 2020 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Apr 26 2020 boot
drwxr-xr-x 19 root root 2980 Aug 29 19:51 dev
drwxr-xr-x. 76 root root 4096 Aug 29 19:49 etc
drwxr-xr-x. 2 root root 4096 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Apr 26 2020 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Apr 26 2020 lib64 -> usr/lib64
drwx------. 2 root root 16384 Apr 26 2020 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 4096 Apr 11 2018 opt
dr-xr-xr-x 82 root root 0 Aug 29 19:49 proc
dr-xr-x---. 7 root root 4096 Aug 29 19:53 root
drwxr-xr-x 24 root root 640 Aug 29 19:49 run
lrwxrwxrwx. 1 root root 8 Apr 26 2020 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Aug 29 20:14 sys
drwxrwxrwt. 9 root root 4096 Aug 29 19:50 tmp
drwxr-xr-x. 13 root root 4096 Apr 26 2020 usr
drwxr-xr-x. 19 root root 4096 Apr 26 2020 var
drwxr-xr-x. | 2 | root | root | 4096 | Apr 11 2018 | home |
---|---|---|---|---|---|---|
文件类型权限 | 硬链接数 | 拥有者 | 拥有者所在组 | 文件大小 | 最后修改时间 | 文件名 |
文件类型和权限
- 第0位表示:文件类型
- 第1-9每三个一组,固定组合。表示:
读
、写
、执行
权限。标-
表示无此权限。
d
文件类型|rwx
文件拥有者权限|r-x
同组用户权限|r-x
其他用户权限
:–|–|–|–|–|–|–|–|–|–
0|123|456|789
-
文件d
目录l
链接b
块设备文件c
字符设备文件(键鼠)p
命令管道文件s
套接字文件|r
可读r
可写x
执行-
无权|一样|一样
chmod 改变文件或目录权限
- 语法
chmod [-cfvR] [--help] [--version] mode file
- 常用参数 cfvR
参数 | 说明 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 递归变更当前目录及所子目录下文件的权限 |
- 权限 mode
[ugoa...][[+-=][rwxX]...][,...]
当前目录下所有文件赋予 777 权限
chmod -R 777 *
文本编辑 vi、vim(richtext)
i
开始编辑esc
进入命令模式:wq
保存退出:q
直接退出(未编辑时):q!
强行直接退出:w !sudo tee %
写了一堆东西发现当前是只读文件。强行保存
创建空文件 touch
[jerryjin@localhost ~]$ touch /etc/...
向文件尾部追加内容 echo '内容' >> 文件
[jerryjin@localhost ~]$ echo '大家好,我是笨笨' >> /home/aa.txt
查看文件
命令 | 说明 |
---|---|
cat | 由第一行开始显示文件内容,用来读文章,或者读取配置文件啊,都使用cat名 |
tac | 从末尾开始,倒序显示。正好与 cat 相反。 |
nl | 带行号显示 |
more | 分页显示。空格向下翻页。回车向下移一行。 |
less | 查看时可以上下箭头翻页。 |
head -n 10 aaa.txt | 查看开头 10 行 |
tail -n 10 aaa.txt | 查看末尾 10 行 |
/
向下查找?
向上查找n
跳到下一个N
跳到上一个q
退出f
显示当前行号
从头查看文件内容 cat
从头显示。
[jerryjin@localhost ~]$ cat /etc/...
从尾开始倒序显示 tac
效果正好与cat
相反
带行号查看nl
查看文件前N行内容 head
[jerryjin@localhost ~]$ head /etc/... # 默认10行
[jerryjin@localhost ~]$ head 2 /etc/...
查看文件后N行内容 tail
[jerryjin@localhost ~]$ tail /etc/... # 默认10行
[jerryjin@localhost ~]$ tail 2 /etc/...
查看文件后N行内容(实时监控) tailf
如果别处往文件末尾追加东西,这里会实时显示结果。
比如 tomcat
输出日志
[jerryjin@localhost ~]$ tailf /home/笨笨666.txt
复制 cp
-r
目录
[jerryjin@localhost ~]$ cp 源文件 目标文件
[jerryjin@localhost ~]$ cp -r 源文目录 目标目录
移动 mv
常用于重名民
[jerryjin@localhost ~]$ mv 源文件 目标文件
[jerryjin@localhost ~]$ mv 源文目录 目标目录
删除 rm
-r
目录(递归删除子目录及文件)-f
强制执行-y
默认同意(直接执行不再询问)
[jerryjin@localhost ~]$ rm 文件
[jerryjin@localhost ~]$ rm -r 目录
[jerryjin@localhost ~]$ rm -rf / # 跑路警告
文件解压、压缩
解压 tar -zxfv 文件名
tar 命令参数 | 说明 |
---|---|
-z或–gzip或–ungzip | 通过gzip指令处理备份文件 |
-x或–extract或–get | 从备份文件中还原文件 |
-v或–verbose | 显示指令执行过程 |
-f<备份文件>或–file=<备份文件> | 指定备份文件 |
系统操作
执行命令
执行 source
重新执行刚修改的初始化文件,使之立即生效。两种写法
[jerryjin@localhost ~]$ source 文件名
[jerryjin@localhost ~]$ . 文件名
查看进程 ps
# 显示所有进程
[jerryjin@localhost ~]$ ps -aux
# 显示所有进程,从中过滤出 mysql
[jerryjin@localhost ~]$ ps -aux|grep mysql
# 通过端口查看进程
[jerryjin@localhost ~]$ ps 端口
杀进程 kill
# 杀掉 PID 为 9527 的进程(正常退出)
[jerryjin@localhost ~]$ kill 9527
# 强行杀掉 PID 为 9527 的进程(强行关闭)
[jerryjin@localhost ~]$ kill -9 9527
能无条件终止进程的9种信号
信号名称 | 信号值 | 说明 |
---|---|---|
HUP | 1 | 终端断线 |
INT | 2 | 中断(同 Ctrl + C) |
QUIT | 3 | 退出(同 Ctrl + \) |
TERM | 15 | 终止 |
KILL | 9 | 强制终止 |
CONT | 18 | 继续(与STOP相反, fg/bg命令) |
STOP | 19 | 暂停(同 Ctrl + Z) |
感叹号!
执行
!!
双感叹号:执行上一次命令!:-
感叹号+冒号+减号:执行上一次命令,但不带最后一个参数
取参数
!$
感叹号+美元符:取上条命令最后一个参数!^
感叹号+次方号:取上条命令第一个参数!*
感叹号+星号:取上条命令的所有参数![命令名]:[参数号]
:取上条命令指定的参数
配合 history 使用
history
会显示执行过的命令列表。
![序号]
感叹号+序号:执行序号对应的命令![-序号]
感叹号+负号+序号:执行倒数第N条命令![命令]
感叹号+命令:执行最近一次执行的[命令]!?关键字?
感叹号+问号+关键字+问号:执行最近一次包含关键字的命令感叹号引用执行命令:gs/原参数/新参数
:替换参数
网络
查看网卡信息 ifconfig
[jerryjin@localhost ~]$ ifconfig
查看网络连接信息 netstat
参数 | 说明 |
---|---|
-a 或–all | 所有 (显示所有连线中的Socket) |
-t 或–tcp | 显示TCP传输协议的连线状况 |
-u 或–udp | 显示UDP传输协议的连线状况 |
-l 或–listening | 显示监控中的服务器的Socket(所谓套接字就是使应用程序能够读写与收发通讯协议与资料的程序) |
-p 或–programs | 显示正在使用Socket的程序识别码 和程序名称 (每一个套接字/端口都属于一个程序) |
-n 或–numeric | 直接使用IP地址,而不通过域名服务器 |
查看80端口
使用情况
[root@localhost /]# netstat -ntulp | grep 80
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 4249/java
tcp6 0 0 :::8009 :::* LISTEN 4249/java
tcp6 0 0 :::80 :::* LISTEN 4249/java
查看java
程序网络使用情况
[root@localhost /]# netstat -ntulp | grep java
tcp6 0 0 :::80 :::* LISTEN 4249/java
udp6 0 0 :::57169 :::* 13600/java
下载命令 wget
-c
的作用为断点续传(继续上一次的位置)
wget -c https://www.jerry.com/666.zip
wget 一般默认自带的,如果有就安装一下
yum install wget
接口调用 curl
curl
语法不熟悉的话,直接打开postman
配置接口后可以直接生成。
默认get
curl www.baidu.com
POST
curl -X POST www.baidu.com
用户和组管理
用户
管理用户的命令本质上就是在编辑配置文件:/etc/passwd
用户名
:口令(不可见)
:用户id
:组id
:描述
:主目录
:登录shell
密码在:/etc/shadow
命令 | 说明 | 别名 |
---|---|---|
useradd | 添加用户 | adduser |
passwd | 为用户设置密码 | |
usermod | 修改用户命令,名、用户的家目录; | |
pwcov | 从/etc/passwd 同步用户到 /etc/shadow | |
pwunconv | 从/etc/shadow 和 /etc/passwd 创建/etc/passwd ,然后删除 /etc/shadow | |
pwck | 校验用户配置文件/etc/passwd 和/etc/shadow 文件合法完整 | |
id | 查看用户ID、用户组ID、用户组 | |
su | 用户切换工具 | |
sudo | 临时使用管理员权限执行相关命令。规则用visudo 命令在/etc/sudoers 中配置 |
修改密码
passwd {用户名}
不写用户名,默认 当前用户
[root@localhost ~]# passwd
修改用户 root 的密码.
New password: 不会显示,只管输入然后回车
Retype new password: 不会显示,只管输入然后回车
用户组
管理用户组的命令本质上就是在编辑配置文件:/etc/group
命令| 说明
–|:–|–
groupadd |添加用户组
groupdel |删除用户组
groupmod |修改用户组信息
groups |显示用户所属的用户组
grpck|验证组文件/etc/group
和/etc/gshadow
的完整性
grpconv |通过/etc/group
和/etc/gshadow
的文件内容来同步/etc/gshadow
,如果不存在则创建
grpunconv |通过etc/group
和/etc/gshadow
文件内容来同步或创建/etc/group
,然后删除gshadow
参考资料
Linux 命令大全-菜鸟教程 https://www.runoob.com/linux/linux-command-manual.html
Linux命令大全(手册) https://www.linuxcool.com
Linux命令大全 http://man.linuxde.net
CentOS中文站 Linux 命令详解 基础命令