day02 --->5个命令
setenforce 0 临时关闭防火墙
du -sh filename/dirname:查看目录或文件的大小
df -h:查看磁盘占用情况 ps aux:查看进程的信息情况
ls:列出当前目录下的内容
-l:以长格式显示
-a:显示所有的文件,包括隐藏文件 如: .bash
-h:以人性化的形式显示文件内容(文件的大小单位变化)
-i:显示文件的编号
history: 查看历史记录
-w:写入文件
-d:删除bash窗口的某一行内容
-c:清空bash窗口的所有内容,但不会清空已保存的历史记录
alias: 设定别名
unlias: 取消别名
man :查看帮助 --help
day03 --->6个命令
cd:切换目录(change directory)
cd -:切换回上一次所在的目录
cd .:显示当前所在的目录
cd ..:返回上级目录
cd/cd ~:切换回当前用户所在的家目录 ~:代表家目录
mkdir:创建目录
mkdir -p:递归创建
touch:创建文件
cp:复制文件或目录
cp -p:复制时,保留源文件或目录的属性
cp -v:详细显示命令执行的全过程
cp -r:递归复制目录和文件
mv:移动文件或目录,相当于剪切 (move)
rm:删除文件或者目录
rm -f:强制删除(不推荐)
rm -r:递归删除,删除目录和文件
Esc+. :执行上一条命令的最后一段命令
day01--->2个命令
uname:显示系统的版本信息
uname -a:显示所有all
uname -n:显示当前系统的主机名称
uname -r:显示当前系统的内核版本
hostnamectl:查看当前系统的虚拟化平台,系统的版本,内核的版本
day04--->8个命令
cat:查看文件
cat -n:查看文件显示行号
cat -A:显示特殊字符
tca:倒序查看文件
rev:字符左右翻转显示行的内容
more:分页显示内容
less:分页显示内容(可以上下调节着看)
head:查看文件头部10行
head -n 20:显示头部前20行
tail:查看文件尾部10行
tail -n 20:显示文件尾部后20行
tail -f:实时跟踪显示文件的尾部信息
grep:过滤文件的指定内容
grep -i:不区分大小写过滤
grep -v:取反过滤
grep -E:支持匹配多个字符串 例:grep -E "to|are" oldboy.txt
grep -w:以单词的形式过滤
grep -o:将匹配到得字段以竖列得形式展示出来
^:只查看以什么开头的
$:只查看以什么结尾的
*:查看所有
.*:.代表任意字符,*代表所有,所有的任意字符都匹配
-A:文件中字符串,并同时打印它的下N行
-B:文件中字符串,并同时打印它的上N行
-C:文件中字符串,并同时打印它的上下N行
day05--->13个命令
wget:下载互联网上的文件,默认没有安装
wget -O:指定文件下载在当前的系统的哪个位置
curl:查看互联网上的文件,也可以用于下载
curl -o:执行文件存储在当前的系统的哪个位置
sz:下载Linux服务器上的文件至本地
rz:上传本地的文件至Linux服务器
locate:查找文件 -i 忽略大小写 (我们不用,用find)
which:查找命令的绝对路径
whereis:查找命令的绝对路径,还会列出该命令的帮助手册的所在路径
type:查找命令的别名,还能看到该命令是shell内置的(内核自带),还是外置(存在某个目录下)
type -a:查看命令的绝对路径和别名
sort :排序
sort -r:倒序
sort -n:按数字排序
sort -t:指定分隔符(默认空格)
sort -k:指定第几列, 指定几列几字符(指定 3.1,3.3)
uniq:内容去重(要和排序搭配使用)
uniq -c:统计重复的行
cut:截取一列的内容
cut -d:指定分隔符
cut -f:数字,取第几列 -f3,6三列和6列
cut -c:按字符取(空格也算)
awk:案列截取字段 默认格式:awk '{print S2,$5}' :截取第二列和第五列
awk -F:指定分隔符(awk默认分隔符是空格)
NR==3:去到第三行
{print $(NF) }:NF表示总共有几列,$NF表示一行的倒数最后一列,NF-1:倒数最后一列的前一列
例:[root@oldboy ~]# awk -F ":" 'NR==1 {print $(NF)}' /etc/passwd
/bin/bash
sed:替换内容 默认格式:sed 's@@@g' (@可以为其他符号)
's#,##g' :将,替换成空值 sed 2p -n:只打印第二行内容其他内容不显示
sed这里的g代表全局替换 不加g仅替换每行第一个出现的字符
sed -i:修改源文件(不加-i只是修改输出结果)sed -r:以字段的形式修改
wc:统计文件行号
wc -l:显示文件的行号
wc -c:显示文件的单词
day06--->3个命令
file:查看文件的类型
ln:创建链接(硬链接)
ln -s:创建软链接
echo:打印输出,所见即所得
day07--->3个命令
vim:文件编辑器 vim +10:跳转文件内容的第十行 (Vim编辑器的快捷键见day7)
vim -r:恢复文件
diff:文件比对
vimdiff:文件比对,图形化显示
day8--->6个命令
id:查看用户登录信息 id username
ps aux:查看进程的信息情况
w:查看用户登录的详细情况 who查看当前登录系统的信息 whoami查看当前登录系统的用户
useradd:创建用户
usermod:修改用户
userdel:删除用户
day9--->8个命令
groupadd:创建组
groupmod:修改组
groupdel:删除组
passwd:设置密码,修改密码(root能给所有用户改,其他用户只能自己给自己改)
passwd --stdin 非交互式设定密码
mkpasswd:生成随机字符串密码
mkpasswd -l:设置密码长度
mkpasswd -d:设置数字个数
mkpasswd -c:设置小写字母数量
mkpasswd -C:设置大写字母数量
mkpasswd -s:设置特殊字符数量
su -:切换用户(su - username) su username:切换用户(比su - 的环境变量少)
sudo:提权
sudo -l:查看用户的权限
visudo:编辑sudo,在里面修改用户的权限
visudo -c:编辑完之后,自动差错
day10--->3个命令
chmod:设置权限
chmod -R:递归修改权限
chown:变更属主和属组
chown -R:递归修改属主属组 ,修改目录下的所有子目录和文件的属主属组
chgrp:切换一个目录或文件的属组 chgrp oldboy /home/wa(将wa的属组改为oldboy)
day11--->6个命令
chmod u+s:设定权限,命令设定suid,无论谁使用该命令都是“属主”运行该命令
chmod 4000(000是要设定SUID文件的原属性)
chmod u-s:去掉权限
chmod g+s:设定权限,该目录下创建文件,都将与该目录的属组保持一致
chmod 2000(000是要设定SGID目录的原属性)
chmod g-s:去掉权限
chmod o+t:设定粘滞位,删除文件只能是删除自己创的. 除此以外root 和目录的所属主都能删除该目录下的内容.
chmod 1000(000是要设定SBIT目录的原属性)
chmod o-t:去掉粘滞位
chattr:设置特殊权限 选项: + 增加权限 -减少权限 =等于某个权限
a:让文件或目录仅可追加内容,无其他操作 +a -a chattr +a/-a
i:锁定,不得任意更动文件或目录 +i -i chattr +i/-i
lsattr:查看文件目录的特殊权限
umask:掩码
umask number:临时设置掩码
day12--->2个命令
>:输出重定向 >>:输出追加重定向 <<:输入重定向 |:管道
tee :将命令的结果保存下来
tee -a:追加将命令的结果保存下来
xargs:给不能使用管道的命令用 ls / | xargs grep "run"
day13--->1个命令
find:查找文件
-type:文件类型
-name:文件名称
-size:文件大小
-user:用户主
-group:用户组
-mtime:按时间
-----------------------
动作(action)
-delete:删除文件和空目录
-ls:列出查找的内容
-ok:后面跟命令,出现命令的提示
-exec:后面跟自定义shell命令(标准写法 -exec {} \;)
day14--->5个命令
gzip:压缩成.gz格式压缩包
-d:解压
zcat:查看gzip格式的压缩包
zip:压缩成.zip格式压缩包
-r:递归压缩
-T:查看压缩包是否完整
unzip:解压
-d:指定解压位置 unzip file.zip -d /opt
-t:查看压缩里的文件是否ok
tar:打包与压缩
czf:创建压缩包tar.gz
tf: 查看压缩包内容
xf: 解压
-C:解压至指定位置
day15--->2个命令
rpm
-ivh 安装软件
-Uvh 升级软件
-e 卸载软件
-q 查询软件是否安装
-qa 查询所有已安装的软件
-ql 查询指定软件包所安装的目录、文件列表
-qc 查询指定软件包的配置文件
-qf 查看系统中某个命令属于哪个软件包,需要命令的绝对路径 rpm -qf $(which tree)
yum -y(全部自动确认操作) yum install tree -y
install 安装互联网软件
localinstall 安装本地rpm包
update 更新软件包
remove 删除软件包
list 查看所有软件包
list installed 查看系统已安装的软件包
day16--->1个命令
yum repolist:查看启用的yum源仓库
yum repolist all: 查看所有的yum源仓库
yum check-update: 查看需要更新的软件包
yum provides:查看命令属于哪一个安装包(不需要知道命令绝对路径)
yum deplist: 查看软件有哪些依赖
yum history:查看yum的历史命令
yum reinstall:重装软件包
yum makecache:生成缓存
day17--->1个命令
yum clean all:清除所有yum数据和缓存
yum clean package:清除所有软件包缓存
day18--->5个命令
fdisk:给磁盘分区(最多分四个分区)
gdisk: 进行磁盘分区(支持分配128个分区)
df -h: 查看磁盘的使用情况 du -sh查看当前所在目录内存的大小
lsblk:列出所有可用的块设备的信息
blkid:查看块设备的id
day19--->7个命令
mkfs.xfs: 格式化分区 或 mkfs -t xfs (例:mkfs -t xfs /dev/sdb1)
mkfs -t xfs:指向格式成什么文件类型
mkfs.xfs -f:强制格式化
mount: 挂载
mount -a:检查挂载有无错误
mount -t: 指定挂载的文件系统类型
mount -o: 指定挂载的参数(-o rw该挂载下只能读写 -o ro只读)
umount:取消挂载
umount -l: 强制卸载挂载
free -m: 查看Linux内存的使用情况
mkswap:将分区格式化为swap
swapon:开启swap
swapon -s:查看当前swap分区有哪些设备
swapon -a:激活所有的swap
swapoff:关闭swap
swapoff -a:关闭所有的swap
day20--->4个命令
w 查看当前系统的用户登录情况
ps:
pstree:树状形式查看进程
ps aux:以静态的方式查看系统进程(显示命令之前的进程信息)
ps axo:自定显示进程的信息 (例:ps axo nice,command,pid)
ps -ef:以标准的格式显示进程信息(会显示进程ID和父进程ID)
top:以动态的方式查看系统进程(进程信息会实时变动 q退出)
uptime:查看系统负载(比w low多了还不全了解)
day21--->5个命令
kill 用PPID结束进程
kill -1:通常用来重新加载配置文件(平滑结束进程)
kill -9:强制杀死进程
kill -15:终止进程,默认kill使用该信号
pkill和killall可以用进程名字结束进程
pkill -t:踢出进程
screen 后台运行
screen -S:创建一个后台运行的窗口(名字自拟)
screen -list:查看当前有哪些正在运行的后台窗口
screen -r:切换到后台运行窗口(输入pid或者窗口名称)
ctrl+a+d:平滑退出后台窗口(就是不打断窗口里面的程序,平滑退出)
nice:设置未在运行进程的优先级 +19最低 -20最高
renice:修改正在运行进程的优先级 renice -n +15 nice -n -15
-n 设置优先级的级数
day22--->3个命令
runlevel:查看当前系统级别
init:切换级别 0关机 1单用户 2多用户 3字符界面 4不用 5图形界面 6重启
systemd
systemctl start nginx:开启nginx服务
systemctl stop nginx:关闭nginx服务
systemctl restart nginx:重启nginx服务
systemctl reload nginx:重新加载nginx服务(平滑的重启)
systemclt status nginx:查看nginx服务当前的状态
systemctl enable nginx:开启开机自启动(下一次开机启动nginx,于当前无关)
systemctl disable nginx:关闭开机自启动(下一次开机不启动nginx,于当前无关)
day23--->1个命令
crontab 定时任务
-e 编辑定时任务
-l 查看编辑的定时任务
-u 指定其他用户的定时任务
-r 删除定时任务(这是删除所有定时任务尽量不用)
day24--->1个命令