一、linux系统目录
├── bin -> usr/bin # 用于存放二进制命令
├── boot # 内核及引导系统程序所在的目录
├── dev # 所有设备文件的目录(如磁盘、光驱等)
├── etc # 配置文件默认路径、服务启动命令存放目录
├── home # 用户家目录,root用户为/root
├── lib -> usr/lib # 32位库文件存放目录
├── lib64 -> usr/lib64 # 64位库文件存放目录
├── media # 媒体文件存放目录
├── mnt # 临时挂载设备目录
├── opt # 自定义软件安装存放目录
├── proc # 进程及内核信息存放目录
├── root # Root用户家目录
├── run # 系统运行时产生临时文件,存放目录
├── sbin -> usr/sbin # 系统管理命令存放目录
├── srv # 服务启动之后需要访问的数据目录
├── sys # 系统使用目录
├── tmp # 临时文件目录
├── usr # 系统命令和帮助文件目录
└── var # 存放内容易变的文件的目录
用户家目录
[root @ localhost ~ ] #
root | 超级用户
localhost | 主机名
~ | 当前用户家目录
# | 超级用户提示符
hostnamectl set-hostname +主机名 修改主机名
时区
timedatactl 查看时区
timedatactl set-timezone Asia/Shanghai 修改时区
data时间
data 查看服务器时间
data +%F 只显示当前年月日
data +%X 显示当前时间到秒
hwclock -r 查看硬件时间
hwclork -w 将硬件时间写入主板
data -s "2023-10-18" 修改时间
ntpdate ntp.aliyun.com 时间同步
ls查看文件信息
ls 查看当前目录下的文件
ls /root/a.txt 单独列出文件
ls /home 查看指定目录下的文件
ls -l 长格式显示(显示文件的详细信息)
ls -lh -h 人性化显示 (显示文件大小)
ls -a all 显示所有文件 (包括隐藏文件)
ll查看文件
ll -d /home/ #查看目录详细信息
ll /home/ #查看目录下面文件的详细信息
ll -t #按最新的修改时间排序
别名alias
设置别名:
语法:alias 别名='命令'
[root@qfedu.com ~]# alias ddd='df -Th'
[root@qfedu.com ~]# alias ddd
alias ddd='df -Th'
取消别名:
[root@qfedu.com ~]# unalias ddd
防火墙和selinux
[root@qfedu.com ~]# systemctl stop firewalld #关闭防火墙
[root@qfedu.com ~]# systemctl disable firewalld #永久关闭防火墙
关闭selinux
[root@qfedu.com ~]# vi /etc/sysconfig/selinux #永久关闭,需要重启机器
将文件中的SELINUX=enforcing改为disabled
[root@qfedu.com ~]# getenforce #查看selinux是否开启
Enforcing
[root@qfedu.com ~]# setenforce 0 #临时关闭
服务器关闭和重启
init | poweroff | 关闭服务器 |
reboot | init 6 | 重启服务器0 |
init 0 poweroff 关闭服务器
reboot、init 6 重启服务器
二、文件管理命令
cd切换目录
. 表示当前目录
cd .. 回到上一级目录等同于相对路径
cd 或者 cd ~ 直接回到家目录
cd /home/alice 切换目录=绝对路径
cd - 回到上一次所在目录
pwd查看当前所在的路径
su切换目录
su - 用户名 切换到用户家目录
su 切换到当前用户所在的路径
exit 退出普通用户
touch创建文件
touch file1.txt 创建file.txt
touch /home/file10.txt
touch /home/{zhuzhu,gougou} {}集合
touch /home/file{1..20} 批量创建文件
echo追加内容
echo 加内容 > 加文件名 #覆盖:把之前的内容替换掉
echo 加内容 >> 加文件名 #追加:保留之前的内容,在后面添加新内容
mkdir创建目录
mkdir /home/dir2 /home/dir3 | 创建两个目录 |
mkdir /home/{dir4,dir5} | 集合创建目录 |
mkdir -v /home/{dir6,dir7} | #-v 显示创建时的详细信息 |
mkdir -p /home/dir8/111/222 | #-p 创建连级目录 |
cp复制
cp -r 复制目录
cp -v 显示详细信息
cp -f 强制复制文件
cp -n 静默
mv移动
mv /root/file1 /tmp/ 移动
mv /tmp/file1 /tmp/file2 改名
rm删除
rm -r递归删除
rm -f强制删除
rm -v展示详细信息
cat查看文件内容
cat -n 显示行号
cat -A 包括控制字符(换行符/制表符)
head查看文件头部内容(默认查看文件前10行内容)
head /etc/passwd #默查看前十行
head -2 /etc/passwd #默认查看前两行
tail查看文件尾部(默认查看文件尾部后10行)
tail /etc/passwd #默认查看文件的后十行
tail -1 /etc/passwd #查看文件最后一行
tail -1 /etc/passwd #查看文件最后一行
tail -f /var/log/secure #-f 动态查看文件的尾部
less分页查询
less /etc/makedumpfile.conf.sample
空格键是翻页 回车键是翻行
上下箭头可以来回翻
/关键字 #搜索 (n按关键字往下翻 N按关键字往上翻)
快捷键:q -quit 退出
more分页查询
more 文件名
空格键是向下翻页 回车键是翻行
Ctrl+B 向上翻页
find文件查找
(1)按文件名查找(-name)
find / -name “file2” #从根开始找文件
find /etc -name "ifcfg-ens33" #以名字的方式查找
find /etc -iname "Ifcfg-ens33"#忽略大小写
find /etc -iname "*.txt" #查找以“.txt”结尾的文件
(2)按文件大小查找(-size)
find /etc -size +5M #大于5M
find /etc -size 5M #等于5M
find /etc -size -5M #小于5M
find / -size +3M -a -size -5M #查找/下面大于3M而且小于5M的文件
find / -size -1M -o -size +80M #查找/下面小于1M或者大于80M的文件
find / -size -3M -a -name "*.txt" #查找/ 下面小于3M而且名字是.txt的文件
(3)按时间查找(-mtime)
find /opt -mtime +5 #修改时间5天之前的文件
find /opt -atime +1 #访问时间1天之前
find . -mtime -2 #修改时间2天之内
find . -amin +1 #访问时间在1分钟之前的
find /opt -amin -4 #访问时间在4分钟之内
find /opt -mmin -2 #修改时间在2分钟之内的
(4)按文件类型查找(-type)
find /dev -type f #f普通文件
find / -type f -size -1M -o -name "*.txt"
find /dev -type d #d目录
find /etc/ -type d -name "*.conf.d"
find /etc -type l #l链接
find /dev -type b #b块设备
find /dev/ -type b -name "sd*"
(5)按文件权限查找(-perm)
find . -perm 644 #是当前目录 精确查找644
find /usr/bin -perm -4000 #包含set uid
find /usr/bin -perm -2000 #包含set gid
find /usr/bin -perm -1000 #包含sticky
grep对文件内容进行过滤
grep 'root' /etc/passwd 过滤文件中带有root的内容
grep '^root' /etc/passwd 过滤以root开头的行:^ --以什么开头
文件编辑器
进入编辑模式
查找替换
扩展命令(尾行模式)
可视化模式
Ctrl+v 进入可视化模式
Shift+v 进入可视行模式
三、用户管理
用户
useradd user1 | 添加用户 |
id user1 | 查看用户的uid、gid、和所在组 |
useradd user1 -u 500 | 创建uid为500的用户 |
useradd user1 -G it,fd | 创建用户,指定附加组 |
useradd user10 -u 4000 -s /sbin/nologin | 创建用户 指定禁止登录 |
userdel -r user1 | 删除用户user1,同时删除用户家目录 |
用户组
groupadd hr | 创建一个用户组叫hr |
groupadd net01 -g 2000 | 创建组叫net01,并指定gid为2000 |
grep 'net01' /etc/group | 查看/etc/group中组net01信息 |
groupdel net01 | 删除组net01 |
四、文件权限
1、基本权限
文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件
属主u 属组g 其他人o
基本权限类型
读(read):r ---->4
写(write):w ---->2
执行(exec):x ---->1
使用方法 a+对象
设置权限(chown更改文件的属主、属组)
[root@linux-server ~]# chown alice.hr file1.txt #修改属主、属组
[root@linux-server ~]# chown tom file1.txt #修改属主
[root@linux-server ~]# chown .it file1.txt #只改属组
[root@linux-server ~]# chown -R alice.hr dir1 #递归修改---针对目录
chmod:为文件或目录设置访问权限
[root@linux-server ~]# chmod u+x file1.txt #属主增加执行
[root@linux-server ~]# chmod a=rwx file1.txt #所有人等于读写执行
[root@linux-server ~]# chmod a=- file1.txt #所有人都没有权限
[root@linux-server ~]# chmod ug=rw,o=r file1.txt #属主属组等于读写,其他人只读
使用数字设置权限
[root@linux-server ~]# chmod 644 file1.txt
2、高级权限
suid ==== 4 提权 | (只对二进制命令文件生效,其他不管用) |
sgid ==== 2 | 继承属组权限 (只能对目录设置) |
sticky == 1 | (t权限) 权限控制 |
3、提权手段
visudo #打开配置文件 | username ALL=(ALL) NOPASSWD:ALL #添加内容 |
sudo mkdir | 给普通用户提权 |
4、隐藏权限
lsattr file1 #查看文件权限
chattr +a file1 #不允许修改,只允许追加
chattr +i file2 #不允许做任何操作
注:i:即Immutable,系统不允许对这个文件进行任何的修改
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何覆盖这个文件
五、进程管理
1、什么是进程
进程是已启动的可执行程序的运行实例,是程序运行的过程,动态的,有生命周期及运行状态。
2、查看进程
ps aux | 静态产看进程 |
ps -ef | 显示所有进程 |
ps aux | grep mysqld | 查看指定PID |
lsof -i:80 | 端口号 查看端口 |
netstat -lntp | 查看网络进程和正在监听的端口 |
3、动态查看进程
top htop
4、杀死进程
kill pkill
[root@linux-server ~]# kill -l #查看所有信号
-1 HUP 重新加载进程或者重新加载配置文件,PID不变
-9 KILL 强制杀死
-15 TERM 正常杀死(这个信号可以默认不写)
-18 CONT 激活进程
-19 STOP 挂起进程
uptime 查看当前负载
free -m 查看内存使用
5、重定向
date 1> date.txt | #正确输出--覆盖 |
date >> date.txt | #正确输出--追加 |
6、输入重定向
[root@qfedu.com ~]# cat >file4 <<EOF
> 111
> 222
> 333
> 444
> EOF
六、打包压缩
1、tar压缩
ar cvf xxxx.tar filename 打包文件
c :create 创建
v :verbose 详细信息
f :file 指定文件
2、zip压缩
zip -q -r file.zip file 压缩文件 |
unzip filename.zip 解压文件 |
unzip file.zip -d /opt/ 解压指定路径文件 |
3、gzip压缩
tar -cz[v]f file.tar.gz file |
tar -xz[v]f file.tar.gz -C /opt/ -C 指定解压路径 |
4、bzip2压缩
tar -cj[v]f file.tar.bz2 file |
tar -xj[v]f file.tar.bz2 -C /opt/ |
5、xzip
tar -cJ[v]f file.tar.xz file |
tar -xJ[v]f file.tar.xz -C /opt/ |
七、其他快捷命令
清屏 clear 快捷键 ctrl+L
终止 ctrl +c
退出(快捷键):ctrl+d
查看历史命令 ctrl+r history
which 命令 #查看命令 which vim
whereis 命令 #查看命令
查看当前登录用户 who
文件上传下载 yum install -y lrzsz #安装lrzsz
rz #上传文件
sz #下载文件