一:文件或者文件本身
ls
-a:显示隐藏文件
-l:长格式显示
-h:人性化显示:显示文件大小
-d:显示目录本身非目录里面的内容
touch:可改变文件时间戳
mkdir
创建多个目录mkdir a b c
-p:创建多级目录 mkdir a/b/c
Rmdir:删目录必须保证目录里面为空
rm (默认只能删文件)
-f:强制删除,不需要提示
-r:删除目录,递归
cp (默认只能复制文件)
-r:复制目录,递归
-p:保留源文件的属性不变
mv:可以用于重命名
调用上调路径 esc+. 或者 !$
通配符
*:匹配任意数量的任意字符
?:匹配单个数量的任意字符
[]:匹配指定范围内的任意字符:ls /dev/[df]?? [0-9]??
“!”或者”^”表示不在指定范围内的其他字符
{}:包含以逗号分割的列表,自动展开位多个路径或文件名midir /tmp/{a,b,c}
- 文件内容进行操作
cat:查看文件内容
-n:显示行号
more:查看文件内容,分页显示,结束自动退出
less:查看文件内容,分页显示,结束不退出(q退出)
head :前几行 head -1 /etc/passwd
tail:末尾几行 tail -f :实时显示文件增量内容
wc命令—文件内容统计(行数、单词数、字节数)
-l:显示行数
echo 一般和>一起使用用于重定向生成新文件
[root@localhost changzltest]# echo "hello world" > a.txt
grep命令——查找文件内容只能匹配正则表达式
^:以什么开头
$:已什么结尾
^$:空白行
-n:显示行号
-v:反选,不包含
-i:不区分大小写
-w:精确匹配单词
-r:递归查找
diff——比较文件是否有区别
“a”、“d”、“c”:分表表示增加,删除,修改
find命令——强大的文件查找命令
-name:按文件名查找
-iname:不区分大小写按文件名查找
-empty:查找空文件或目录
-type:按文件类型查找
普通文件f,目录d,连接l,块设备b,字符设备c
-exec:对查找到的结果进行进一步处理
find /etc -name “*ssh*” -type f -exec cp {} /tmp/ssh \;
注意:find查看到的结果是文本信息,无法进行rm -f等操作,要是想把find查找到的结果当作文件处理只能使用exec
xargs命令——find辅助命令,把find查找结果当成文件处理
不仅可以查找到,而且显示文件名
find /tmp -name “*.txt” -exec grep “password” {} \;
find /tmp -name “*.txt” | xargs grep “password”
find /tmp -name “*.txt” | xargs -i cp {} /root
history:存放再缓存里面关机保存到.bash_history
-c:清除缓存里面的命令
-d:删除历史命令
-w:把缓存里面的命令写入文件
-r:把.bash_history文件中的历史命令读取到缓存
help:查看内部命令的帮助信息
查看外部命令的帮助信息ls --help
man:帮助手册很详细
clear:清屏
输入输出重定向
重定向正确信息 1 默认不需要输入 ls /home >home.txt
重定向错误信息 2 ls /home 2> home.txt
null 用于过滤信息 find / -user student 2 > /dev/null
&>:不管正确还是错误的都不要
cat > test.txt << EOF 输入什么都保存到test.txt文件中
管道 | :连接左右两边,把左边命令结果传递给右边
cat /etc/passwd | wc -l
grep -v “^#” /etc/ssh/sshd_config |grep -v “^$”
查找不是#开头且不是空白行的文件
vim编辑器
- 用户、组和权限管理
gpasswd -a student admin 将student加入admin组中
useradd——添加用户
以下内容将会被修改
/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow
从/etc/skel中复制文件到/home中增加信息
useradd——添加用户
-u:指定用户uid
-d:指定用户家目录
没有目录则从skel中复制,有目录的话则不从skel中复制
-g:指定用户的基本组 useradd -g admin user3
-G:指定用户附加组
-e:指定用户失效时间 useradd -g users -e 2019-01-30 temp01
-M:不建立用户家目录
-s:指定用户登录shell
useradd -s /sbin/nogin -M ftpuser
设置用户密码passwd
-d:清除密码
-l:锁定用户账号
-u:解锁账号
--stdin:从文件管道读取 echo ‘123’ | passwd --stdin user1
su:
切换用户不加’-’使用的是上个用户的工作环境,随意要加’-’
usermod:修改用户账号属性
-m:将用户家目录移动到新的位置
-d:指定用户新的家目录
将admin用户家目录移动到/home下
usermod -m -d /home/admin admin
groupadd:创建组 -g:指定组的gid
groupadd -g 2000 class2
gpasswd:添加删除成员
-a:向组中添加成员
gpasswd -a student admin 将student加入admin组中
-d:向组中删除成员
chmod修改权限
你能否修改文件取决于你对这个文件有没有写入权限,你能否删除文件取决于你对这个文件所在目录有没有写入权限
chown:设置文件的所有者何所属组
chown root:admin /tmp/test 所有者:所属组
设置acl规则:
setfacl -m natasha:rwx /home/project
查看acl规则
-m:设定一个facl规则
-x:取消一个facl规则
-b:取消所有facl规则
getfacl /home/project
chattr:更改文件属性
-R:递归
+:增加扩展属性
-:减少扩展属性
i:只读:包括root用户也无法修改
a:追加属性(只能向文件中添加数据不能删除)
chattr +i /etc/passwd /etc/shadow
lsattr:查看属性
限制用户切换到root
限制使用su命令的用户
将第6行#去了:此时只有wheel组的成员才有权限执行
su - root命令
sudo命令可以使用提权的用户
四、磁盘文件系统管理
第一块硬盘sda 第一个分区sda1 第二块硬盘sda2
第二块硬盘sdb 第一个分区sdb1 第二块硬盘sdb2
主分区最多四个,主分区和扩展分区序号限制在1~4个之间,逻辑分区从5开始
1.硬盘分区以及格式化
分区包含主分区何逻辑分区:
若想创建逻辑分区必须创建扩展分区,因为逻辑分区是从扩展分区里面展开的
- 分区之后进行格式化才能使用
低级格式化:对硬盘进行划分磁道和扇区
高级格式化:创建文件系统
mkfs -t xfs /dev/sdb5
- 挂载之后才可以使用
例如把/dev/sdb5挂在到/tmp目录,当用户在/tmp目录下执行数据存取操作时,Linux系统就知道要到/dev/sdb5上执行相关操作
将分区挂在到目录之下,目录中的文件将将消失,不建议挂在到有文件的目录
查看已挂在的设备 df -hT
-h:人性化显示K、M、G
-T:显示文件系统类型
挂载iso镜像文件
mount -o loop kaili-linux-2.0-amd64 /mnt/kaili
自动挂载:(重启系统不消失)修改/etc/fstab
- 挂在的设备文件名或者uuid
- 挂载点
- 文件系统类型
- 挂在选项
- 是否需要fump备份 1需要 0忽略
- 系统启动是否检测这个存储设备以及检测的顺序0不检测 1和2表示检测顺序先1后2
查看分区的uudi使用命令blkid /dev/sda1
quota磁盘配额:限制用户使用磁盘空间和文件
通过修改/etc/fstab文件
启用uquota和gquota分别启用用户和组的磁盘配额。仅仅对基本组生效
mount -a:把fstab中的文件自动挂载
查看是否挂在成功
edquota -u zhangsan
第一个hard的对磁盘空间限制100M,第二个是对文件数量的限制3个
从zero中读取文件生成/tmp/test1文件
quota -u zhangsan:查看zhangsan磁盘配额
repquota:查看文件系统的磁盘配额 requota /data
RAID
最后一块硬盘自动当作备份盘,标记一块硬盘故障之后重新构建
LVM
物理卷PV:磁盘或硬盘分区,构建LVM的基础
卷组VG:存储池,他是LVM概念上的磁盘设备,多个物理卷组成卷组
逻辑卷LV:从卷组中提取容量组成LVM
物理块PE:物理卷最小的存储单元可配置默认4M
建立逻辑卷过程:
物理卷-卷组-逻辑卷-格式化-挂载
逻辑卷删除过程:
卸载umount-fstab也删除-lvremove-vgremove-pv-remove
tar命令——文件的打包与压缩
-c:创建.tar格式的文件,不会对文件进行压缩
-v:显示命令的执行过程
-f:指定要打包或解包的文件名称该选项必须放到最后
-x:解包
-C:大C指定解压之后的目录 tar -xf etc.tar.gz -C /home
-z:调用gzip来压缩文件(压缩比例最小) tar -zcf etc.tar.gz /etc
-j:调用bzip来压缩文件(压缩比例居中) tar -jcf etc.tar.bz2 /etc
-J:调用xz来压缩文件(压缩比例最大) tar -Jcf etc.tar.xz /etc
du :文件占用磁盘空间大小
-h:人性化先生
-s:汇总的大小
yum安装:
[dvd] yum源名称保证唯一
name=CentOS dvd yum源描述
baseurl=file:///mnt/cdrom/ 指定yum的访问路径
enable=1 1表示启用 0表示禁用
gpgcheck=0 是否检查rpm包来源合法性
yum list :显示yum源的rpm包
yum repolist:列出repo中所有yum源
yum info:查看软件包的信息
yum install:安装
yum remove:卸载
yum clean all:清除缓存
rpm包安装
-i:安装软件
-v:显示安装过程
-h:显示安装进度 rpm -ivh
-e:卸载软件 rpm -e
-qa:查询所有软件包 rpm -qa | grep ssh
-qi:查询安装软件包的信息
-ql:查询软件包所安装的文件
windows 和linux直接文件传输安装lrzse
rz
sz 后面跟文件名称
wget:Linux下载文件方式
进程的状态
进程的管理
ps:静态
pidof sshd:查看进程的pid
ps -ef:查看详细信息可查看父进程ppid
ps -aux:查看详细信息cpu和内存占用资源
ps:只显示当前用户在当前终端启动的进程
-a:显示当前终端的所有进程
-x:显示除了当前终端的所有进程
-u:以面向用户的风格显示进程
-e:显示系统中所有进程信息
-f:显示进程所有信息
top:动态信息
proc目录中存放的都是当前运行的程序的pid,proc存放的是内存中正在被执行和处理的数据
&可将进程掉到后台执行,jobs可以查看后台执行的程序,fg可以将后台调到前台,ctrl+z可以将前台临时转到后台是已停止状态的,bg可以将后台停止状态的作业继续运行
jobs -l:可以查看后台运行的程序pid
nohup:解除当前终端和进程的关系
kill -9:强制终止进程
killall:删除一组进程 killall sshd
监视系统信息
用户登录
- users:显示登录用户
- who:显示登录用户和登录终端时间ip
- w:详细显示用户登录信息包含用户执行的操作
- last:哪些用户哪些时间曾经登录过系统
资源占用情况
- cpu硬件信息:cat /proc/cpuinfo
- cpu占用情况:uptime
- 内存硬件信息:cat /proc/meninfo
- 内存使用情况:free -h:人性化显示 free -s 3:3s刷新一次
- 硬盘使用情况:df -hT 或者du
显示进程树pstree
每个服务都有个服务单元存放在/usr/lib/systemd/system
systemctl list-units --type=service --all:列出所有运行的服务
systemctl enable/disable vsftpd:将服务设置开机自启或不自启动
systemctl is-enable vsftpd:查看是否开机自启
systemctl list-unit-files --type service:查看开机运行的服务
重置root密码
计划任务