输入指令时使用tab键,可提示命令 自动补全
更改账户密码
passwd 账户名
ping
ping IP地址
ping 域名
man查看指定命令用法
man 命令
查看网络相关
ip
ip addr
显示当前所在的工作目录
pwd
切换当前所在的工作目录
cd 当前工作目录文件夹内的文件夹名
cd /路径
切换到当前目录 仍然是自己
cd .
切换到上一级目录
cd ..
用户家目录
cd ~
进入上一次访问的目录
cd -
cd命令用来进入文件夹,无法进入文件
显示文件
显示当前目录内的所有文件
ls
显示当前目录内的所有文件的详细信息
ls -l
显示当前目录内的所有文件[包括隐藏文件]
ls -a
显示当前目录内的所有文件[包括隐藏文件]的详细信息
ls -la
ls -al
显示指定目录内的所有文件
ls /路径
显示指定目录内的所有文件的详细信息
ls -l /路径
创建文件
在当前目录创建文件夹
mkdir 文件夹名
递归创建文件夹
mkdir -p 文件夹名/文件夹名/文件夹名/......
# 递归创建a/b c/d
mkdir -p a/b c/d
# 递归创建test/a,b,c,d四个文件夹
mkdir -p dir01/{a,b,c,d}
# 递归创建文件夹a/b/c/d/e
mkdir -p a/b/c/d/e
在当前目录创建文件
touch 文件名
删除文件
删除文件
rm 文件名
批量删除具有共同字段的文件 * 匹配任意字符
rm 部分文件名*
删除空文件夹
rmdir 文件夹名
删除文件夹 包括里面的文件 递归删除[注意是rm 而不是rmdir]
rm -r 文件夹名
删除文件夹 包括里面的文件 递归强制删除 [注意是rm 而不是rmdir]
rm -rf 文件夹名
更改文件或文件夹名
mv 旧文件名 新文件名
移动文件
移动文件[不要忘记/]
mv 要移动的文件或文件夹名 要移动到的文件夹/
复制文件
复制文件[不能复制文件夹]
cp 要复制的文件名 新文件的文件名
复制文件夹极其内文件 递归复制
cp -r 要复制的文件夹名 新文件夹的文件夹名
编辑指定文件文本
编辑指定文件文本
vi 文件名
输入这条命令后进入命令模式状态
输入 i 进入编辑模式 便可以输入内容
编辑完成后按ESC退出编辑模式,回到命令模式
输入:wq!退出
查看文件内容
查看文件内容
cat 文件名
例如查看刚刚新建编辑的文件
清屏
clear
退出shell SSH登录
logout
使用root账户
su
退出root
exit
查看连接Linux的用户的IP
w
更改主机名
hostnamectl set-hostname 新名字
关机 重启
shutdown -h now # 关机
reboot # 重启
echo 打印
echo "字符串"
echo 取变量的值
echo $变量名
写入文本
echo '要写入的文本' >> 文件名 # 追加写入
echo '要写入的文本' > 文件名 # 覆盖写入
查看Linux环境变量
echo $PATH
tree
tree命令查看文件目录结构[如果不支持这个命令,使用 yum install tree安装]
tree
stat 查看文件或文件夹详细信息
stat 文件名
分页读文件[空格翻页]
more 文件名
查找文件
find 目录 -name 文件名
例如从根目录查找所有的jpg图片
grep 本文搜索
grep '文本内容' 文件名 # 在指定文件内搜索指定文本内容
grep -i '文本内容' 文件名 # 在指定文件内不区分大小写搜索指定文本内容
grep '文本内容' 文件名 -n # 在指定文件内搜索指定文本内容 输出带行号
grep '文本内容' 文件名 -v # 在指定文件内搜索指定文本内容 反向输出
管道符
| 管道符 管道符左边命令的输出会作为管道符右边命令的输入(可加空格也可不加)
命令1 | 命令2
head tail 查看文件
查看文件前十行
head 文件名
查看文件后十行
tail 文件名
监测文件后十行文本变化
tail -f 文件名
alias别名 命令替换
将一个命令替换成指定命令
alias # 查看已经设置的别名
使用
alias 指定命令='新命令' # 设置 使用指定命令时候相当于执行了新命令
unalias 指定命令 # 取消设置
which命令
查看指定命令位于哪个环境变量之中
which 命令
scp命令 远程拷贝
用于不同Linux机器之间复制文件和目录
scp 本机文件 对方用户名@对方IP:对方文件路径 # 本机文件复制到其他机器
# 例 scp -r /tmp/wenben.txt root@192.168.1.66:/home/wenben.txt
scp 对方用户名@对方IP:对方文件路径 本地文件路径 # 其他机器文件复制到本机
# 例 scp root@192.168.1.66:/home/1.txt /tmp/1.txt
-r # 递归复制
du命令
显示指定的目录或文件所占用的磁盘空间
du 文件名或文件夹名 # 统计大小
du 文件名或文件夹名 -h # 以可读性强的k,M,G为单位显示
du -sh # 总计显示文件夹大小
显示磁盘空间占用情况
df -h
top命令
动态地监视进程活动与系统负载等信息 实时刷新
其中信息含义
第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
第三行:cpu信息
us:用户空间所占CPU百分比
sy:内核空间占用CPU百分比
ni:用户进程空间内改变过优先级的进程占用CPU百分比
id:空闲CPU百分比
wa:等待输入输出的CPU时间百分比
hi:硬件CPU中断占用百分比
si:软中断占用百分比
st:虚拟机占用百分比
第四行:内存信息(与第五行的信息类似与free命令)
total:物理内存总量
used:已使用的内存总量
free:空闲的内存总量(free+used=total)
buffers:用作内核缓存的内存量
第五行:swap信息
total:交换分区总量
used:已使用的交换分区总量
free:空闲交换区总量
cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
chattr 文件加锁禁止删除
chattr +a 文件名 # 加锁禁止删除
chattr -a 文件名 # 去锁可以删除
查看文件是否加锁
lsattr
date 查看系统的时间和日期
date
cal
wget 下载
wget 下载地址
查看/杀死进程
ps -ef
kill 进程的pid # 杀死进程
killall 进程名 # 批量结束某个服务程序带有的全部进程
# killall 直接对进程对名字进行操作
查看系统相关信息
cat /etc/os-release # 查看这个文件的内容
uname -a
用户管理
需要在root账户下操作
useradd 用户名 # 添加用户
passwd 用户名 # 设置密码
id 用户名 # 查看用户信息
切换用户
su 用户名
su - 用户名 # 环境变量信息也变更为新用户的信息
查看当前用户是什么
whoami
删除用户
userdel -rf 用户名
创建用户组
groupadd 用户组名
sudo 命令
sudo 命令
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
权限
查看文件的权限
ls -l 文件名
从左至右分别为:
1.权限
2.文件链接数
3.文件拥有者
4.文件拥有组
5.文件大小
6.最后一次被修改的时间日期
7.文件名
其中权限又细分为
第一个字母为文件类型
第一个字母 | 代表文件 |
---|---|
– | 一般文件 |
d | 文件夹 |
l | 软连接(快捷方式 |
b | 块设备,存储媒体文件为主 |
c | 键盘,鼠标等设备 |
后续9个字母,每3个一组,分别是三种身份的权限(use的权限,group的权限,other的权限)
文件的权限
后9个字母 | 权限 | 数字计算权限 |
---|---|---|
r | read可读,可以cat等命令查看 | 4 |
w | write写入,可以编辑或者删除这个文件 | 2 |
x | executable,可执行 | 1 |
第几位 | 谁的权限 | 简写 |
---|---|---|
2-4 | user | u |
5-7 | group | g |
7-9 | other | o |
根据数字计算权限 每种身份最低是0分,最高是r+w+x 7分
因此三种身份,最高权限是777,最低是000
文件夹的权限
后9个字母 | 权限 |
---|---|
r | 可以对此目录执行ls列出所有文件 |
w | 可以在这个目录创建文件 |
x | 可以cd进入这个目录,或者查看详细信息 |
权限修改 chmod
chmod 身份±参数 文件名 # 注意加减号前没有空格
# 例
chmod u+r wenben.txt # 为wenben.txt文件user身份添加读权限
chmod a+r wenben.txt # 为wenben.txt文件所有身份添加读权限
chmod u-rw wenben.txt # 为wenben.txt文件user身份去除读写权限
身份字母 | 身份字母代表内容 |
---|---|
u | user |
g | group |
o | other |
a | 所有身份 |
![]() | |
还可以以权限数字的方式修改权限 |
chmod 三位数字 文件名
更改文件所属用户/用户组
chown 用户名 文件名
chgrp 用户组名 文件名
软连接快捷方式
ln 文件 新位置或新名称
tar 解压/压缩文件
tar -cf 压缩包名 要压缩的文件 # 压缩文件
tar -xf 压缩包名 # 解压文件
查看端口
netstat -tunlp
netstat [选项]
-t或–tcp:显示TCP传输协议的连线状况;
-u或–udp:显示UDP传输协议的连线状况;
-n或–numeric:直接使用ip地址,而不通过域名服务器;
-l或–listening:显示监控中的服务器的Socket;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
-a或–all:显示所有连线中的Socket;
查看系统字符集 编码 语言
echo $LANG
crontab计划任务
查看/etc/crontab文件 这个文件是系统任务调度的配置文件
第1列 表示分钟1~59 每分钟用*或者 */1表示
第2列 表示小时1~23(0表示0点)
第3列 表示日期1~31
第4列 表示月份1~12
第5列 标识号星期0~6(0表示星期天)
第6列 要运行的命令
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
编辑定时任务
crontab -e # 编辑定时任务 会打开一个文本文件 在这个文本中写入或删除定时任务
# 格式是 分 时 日 月 周 命令
# 例如 * * * * * echo 'xuaowen' >> /tmp/wenben.txt
# 每分钟追加写入一行文本到wenben.txt文件中
# 例如 20 * * * * echo 'xuaowen' >> /tmp/wenben.txt
# 每小时的第20分钟追加写入一行文本到wenben.txt文件中
# 例如 20 6 * * * echo 'xuaowen' >> /tmp/wenben.txt
# 每天六点20分钟追加写入一行文本到wenben.txt文件中
crontab -l # 查看有哪些运行的定时任务
上个截图中我设置了在wenben.txt中每分钟追加写入123 下个截图可以看出其效果