文章目录❀
❀ls命令
❀cd命令
❀pwd命令
❀date命令
❀创建、删除文件和目录命令
❀alias命令
❀复制、移动、重命名、查看(文件、目录)命令
❀find查找、wc统计命令
❀vi/vim命令
1、打开文件
2、工作模式
vi与vim的四个模式
进入编辑模式
❀压缩与解压缩
❀grep sed awk命令以及正则表达式
❀制作模板机
❀软件包管理
❀用户、用户组管理
❀文件权限管理
❀磁盘管理
❀RAID 独立磁盘冗余阵列 数据安全性
❀linux系统启动流程
❀重定向
❀周期性计划任务和任务调度
❀进程管理
❀用户提权
❀文件系统-软连接、硬链接
❀日志管理
❀网络管理
❀ls命令
1.ls (list) 列出目录下的内容
-help | 查看帮助文档 |
-a (all) | 查看所有内容包括隐藏文件 |
-h | 以人类可读方式显示 |
-l | 以长格式显示文件信息 |
-d | 查看目录本身 |
-S | 由大到小排序 |
-r | 由小到大排序 |
-t | 由新到旧 |
ls 命令可以说是linux下最常用的命令之一。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
–color=no 不显示彩色文件名
–help 在标准输出上显示帮助信息。
–version 在标准输出上输出版本信息并退出。
只列出子目录
1. ls -F | grep /”(linux)
2. ls -l | grep “^d” 或者 ls -lL | grep “^d” (Solaris)
❀cd命令
语法格式:cd [参数] [目录名]
常用参数:
-L | 切换至符号链接所在的目录 |
-P | 切换至符号链接对应的实际目录 |
cd - | 切换至上次所在目录 |
cd ~ | 切换至用户家目录 |
cd .. | 切换至当前位置的上一级目录 |
切换到指定目录:
[root@linuxcool ~]# cd /Dir
[root@linuxcool Dir]#
切换至当前用户的家目录:
[root@linuxcool Dir]# cd ~
[root@linuxcool ~]#
进入到上一级所在目录:
[root@linuxcool ~]# cd ..
[root@linuxcool /]#
返回到上一次所在目录:
[root@linuxcool /]# cd - /root
[root@linuxcool ~]#
❀pwd命令
pwd-----显示当前工作目录的路径
语法格式:pwd【参数】
常用参数:
-L | 显示逻辑路径 |
-P | 显示实际物理地址 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
参考:
[root@linuxcool ~]# pwd
/root
❀date命令
date | 查看系统时间和日期 (+%Y-%m-%d %H:%M:%S) |
date +%F | 只显示当前年月日 |
date +%X | 只显示当前时间到秒 |
使用“+”开头的字符串指定其格式 %H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
❀创建、删除文件和目录命令
创建文件:
touch | 创建文件或者更新文件时间戳 |
stat | 查看文件信息(stat后面加文件名) |
[root@qfedu ~]# touch file1.txt #无则创建,如果存在修改时间
[root@qfedu ~]# touch /home/file10.txt
[root@qfedu ~]# touch /home/{zhuzhu,gougou} #{}集合
[root@qfedu ~]# touch /home/file{1..20} #批量创建
创建目录:
语法:mkdir -v 详细 -p 递归 目录
mkdir | 创建一个新的目录 |
-v(详细) | 为每个创建的目录打印一条消息(在mkdir后面加-v和目录名) |
-p (递归) | 如果存在,就不会创建,如果不存在,就会创建父目录(例如:mkdir -pv dir1/dir2/dir3) |
{1…100} | 批量创建表示1到100 |
# mkdir dir1
创建两个目录:
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5}
# mkdir -v /home/{dir6,dir7} #-v :verbose 冗长的。显示创建时的详细信息
# mkdir -p /home/dir8/111/222 #-p 创建连级目录,一级一级的创建
删除文件或目录:
删除 rm -r 递归删除目录 -f force强制 -v 详细过程 *通配符:
rm | 删除文件 |
-r | 删除目录(rm -r 目录名) |
-f | 忽略提示,直接强制删除 |
实例1:删除/home/dir1
# cd /home/ # rm -rf dir1/ -r 递归,删除目录时 -f force强制 -v 详细过程
示例2:
[root@qfedu ~]# mkdir /home/dir10 [root@qfedu ~]# touch /home/dir10/{file2,file3,.file4} [root@qfedu ~]# rm -rf /home/dir10/* //不包括隐藏文件 [root@qfedu ~]# ls /home/dir10/ -a . .. .file4
示例3:
[root@qfedu ~]# touch {1..10}.txt [root@qfedu ~]# touch file{1..20}.txt #创建file1-10的txt文件 [root@qfedu ~]# rm -rf file1*
❀alias命令
alias 别名(例如:a=”rm -r“好比如rm -r)
alias 取消别名(unalias 别名)
alias实战:查看别名:
[root@qfedu.com ~]# type -a ll
ll is aliased to `ls -l --color=auto'
设置别名:
语法:alias 别名='命令'
[root@qfedu.com ~]# alias ddd='df -Th'
[root@qfedu.com ~]# alias ddd
alias ddd='df -Th'
[root@qfedu.com ~]# ddd
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.1G 16G 7% /
devtmpfs devtmpfs 478M 0 478M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 6.7M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 125M 890M 13% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
取消别名:
[root@qfedu.com ~]# unalias ddd
[root@qfedu.com ~]# ddd
-bash: ddd: command not found
❀复制、移动、重命名、查看(文件、目录)命令
❀find查找、wc统计命令
❀vi/vim命令
1、打开文件
[root@qfedu.com ~]# vim 文件名
2、工作模式
vi与vim的四个模式
进入编辑模式
i #在光标所在处进入编辑模式 a #在当前光标后面进入编辑模式 o #在光标的下一行进入编辑模式 I #在光标所在处行首进入编辑模式 A #在光标所在处行尾进入编辑模式 O #在光标的上一行进入编辑模式 # 从编辑模式进入命令模式:ESC
命令模式
光标定位键盘: 0 $ #行首行尾 gg #页首--文本顶端 G(shift+g) #页尾--文本底部 3G #进入第三行 /string #查找字符,n下一个,N上一个 (n N 可以循环的)
文本编辑
yy #复制 3yy #从光标开始复制3行。在最后粘贴 ygg #从当前光标复制到页首 yG #从光标开始复制到页尾 dd #删除一行 3dd #从光标开始删除3行 dgg #从光标开始删除到页首 dG #从光标开始删除到页尾 d^ #删除当前光标之前的内容 p #粘贴到本行的下一行 大P #粘贴到本行的上一行 x #删除光标所在的字符 D #从光标处删除到行尾 u #undo撤销 r #可以用来修改一个字符
扩展命令(尾行)模式:
shift+: #进入尾行模式(扩展命令模式) :10 #进入第10行 :w #保存 :q #退出 :wq #保存并退出 :q! #不保存并退出 :wq! 强制保存退出
进入其他模式
ctrl+v #进入可视块模式 shift+v #进入可视行模式
查找替换
语法----> :范围 s/old/new/选项 :s/world/nice/ #替换当前光标所在行 :3s/sbin/nice/ #替换指定行 :1,5 s/nologin/soso/ #从1-5行的nologin 替换为soso :%s/bin/soso/ #替换所有行 :%s/sbin/nice/g #替换行内所有关键字 注释:%表示替换所有行 g表示行内所有关键字 将文件另存(另存为) 语法----> :w 存储到当前文件 :w /tmp/aaa.txt #另存为/tmp/aaa.txt :1,3 w /tmp/2.txt #从1-3行的内容另存为/tmp/2.txt
设置环境 :
:set nu #设置行号 :set list #显示控制字符 :set nonu #取消设置行号
文件基本信息
时间类型
访问时间:atime,查看内容 修改时间:mtime,修改内容 改变时间:ctime,文件属性,比如权限,mv改名
查询示例
[root@qfedu ~]# ls -l passwd
-rw-r--r--. 1 root root 839 Oct 31 21:29 passwd
[root@qfedu ~]# stat passwd File: ‘passwd’ Size: 839 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 33583688 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2019-10-31 21:29:40.750993492 +0800 Modify: 2019-10-31 21:29:36.449993550 +0800 Change: 2019-10-31 21:29:36.452993550 +0800 Birth: -
ls -l 文件名 仅看的是文件的修改时间
❀压缩与解压缩
❀grep sed awk命令以及正则表达式
❀制作模板机
❀软件包管理
❀用户、用户组管理
❀文件权限管理
❀磁盘管理
—————————————————— 扩容根目录 ———————————————————
创建分区
[root@server-1 ~]# fdisk /dev/sdb
创建物理卷
[root@server-1 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created #已成功创建物理卷“/dev/sdb1”
扩展'centos'卷组
[root@server-1 ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended #卷组“centos”成功扩展
初始化分区
[root@server-1 ~]# mkswap /dev/sda2
扩容逻辑卷
[root@server-1 ~]# lvextend -L +19.5G /dev/mapper/centos-root (加+是在原有的基础上扩容 不加则是直接扩容到多少内存 )
[root@server-1 ~]# df -Th
扩容xfs类型
[root@server-1 ~]# xfs_growfs /dev/mapper/centos-root
———————————————————————————————————————————
—————————————————— 扩容交换分区 ——————————————————
[root@server-1 ~]# free -m
查看交换分区信息
[root@server-1 ~]# swapon -s
建一个分区出来
[root@server-1 ~]# fdisk /dev/sdc
刷新分区表
[root@server-1 ~]# partprobe /dev/sdc
查看分区表内容
[root@server-1 ~]# ll /dev/sdc*
初始化分区
[root@server-1 ~]# mkswap /dev/sdc1
查看UUID
[root@server-1 ~]# blkid /dev/sdc1
制作开机挂载
[root@server-1 ~]# vi /etc/fstab
/dev/sdc1 swap swap defaults 0 0
激活swap分区(读取/etc/fstab)
[root@server-1 ~]# swapon -a
查看交换分区
[root@server-1 ~]# swapon -s
———————————————————————————————————————————
Linux硬链和软链的区别在于,硬链创建了指向文件实际数据的新的文件名,而软链则创建了一个指向另一个文件名的链接文件。硬链接的文件名和文件内容是绑定在一起的,删除任何一个都会造成文件不完整,而软链接只是一个指向其他文件的文件名,删除链接文件不会影响实际的文件,因此软链接更加灵活。
———————————————————————————————————————————
#查看磁盘设备 lsblk
#查看磁盘分区信息 fdisk -l /dev/sdb
#两种格式: MBR GPT
#针对MBR格式,创建分区 fdisk /dev/sdb
m 查看帮助
n 新建分区
p 新建主分区(打印分区信息)
e 创建扩展分区
l 创建逻辑分区
w 保存退出
#更新刷新磁盘分区表,不用重启 partprobe /dev/sdb
#转格式 parted -s /dev/__分区表名___ mklabel __(gpt,msdos)___
#安装分区工具 yum -y install gdisk
#查看分区信息 gdisk -l /dev/__表名___
#格式化文件系统类型
ext4格式 : mkfs.ext4 /dev/____
xfs格式 : mkfs.xfs /dev/____
#磁盘挂载
创建挂载目录 :mkdir /mnt/______
mount /dev/__需要挂载的磁盘___ /mnt/__挂载的目录__/
#查看磁盘挂载与磁盘使用空间 df -Th
#取消挂载
umount /mnt/_____/
强行卸载即使目录被进程占用 umount -l /mnt/___/
#fstab开机自动挂载
查看uuid和文件系统类型 blkid /dev/____
改配置文件 vi /etc/fstab
第1列:挂载设备
第2列:挂载点(挂载目录)
第3列:文件系统类型(xfs,ext4)
第4列:文件系统属性(defaults)
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查
#自动挂载 mount -a
LVM是 Logical Volume Manager(逻辑卷管理)
PV:物理卷(Physical volume):一块硬盘,或多块硬盘
VG:卷组(Volume Group):一堆磁盘的统称
LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区
###创建LVM
1.将物理磁盘转换为物理卷 -pv
pvcreate /dev/____
查看pv信息:pvscan,pvs,pvdisplay
2.创建卷组-vg
vgcreate vg1 /dev/sdc
查看卷组信息:vgscan,vgs,vgdisplay
3.创建逻辑卷 -L大小(可指定M,G) -n卷名 vg1组名
lvcreate -L +200M -n lv1 vg1
查看逻辑卷信息:lvscan
4.创建文件系统并挂载
a.创建文件系统/格式化
mkfs.ext4 /dev/vg1/lv1
/dev/卷组名/逻辑卷名
b.创建挂载点
mkdir /mnt/lv1
c.挂载
mount /dev/vg1/lv1 /mnt/lv1
5.查看挂载结果
df
###VG管理(扩大vg卷组)
1.扩大vgextend
a.创建pv
pvcreate /dev/sdd
b.扩展VG
vgextend vg1 /dev/sdd
c.查看VG
vgs
###LV扩容
1.扩大lvextend
1.1 lv扩容
a.查看VG空间 vgs
b.扩容LV lvextend -L +200M /dev/vg1/lv1
1.2 FS扩容
a.先观察文件系统容量 df -Th
b.#xfs扩容 xfs_growfs /dev/vg1/lv1
#ext4扩容 resize2fs /dev/vg1/lv2
c.查看FS df -Th
请注意对比,之前的输出结果,文件系统的大小发生改变。
###交换分区管理 Swap
A.swap分区大小设置规则:
大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。
B.交换分区管理的作用:提升内存的容量,防止OOM(OutOfMemory)内存不足
1.查看当前的交换分区 free -m
查看交换分区信息 swapon -s
2.增加交换分区:
a.准备分区
分一个主分区 fdisk /dev/sde
刷新分区表 partprobe /dev/sde
查看分区表信息 ll /dev/sde*
b.格式化
初始化 mkswap /dev/sde1
c.挂载
swapon /dev/sde1
3.验证
free -m
❀RAID 独立磁盘冗余阵列 数据安全性
❀linux系统启动流程
❀重定向
❀周期性计划任务和任务调度
❀进程管理
❀用户提权
❀文件系统-软连接、硬链接
❀日志管理
❀网络管理