/ 根目录
/root root用户的家目录
/home/username 普通用户的家目录
/etc 配置文件目录
/bin 命令目录
/sbin 管理命令目录
/user/bin/usr/sbin 系统预装的其他命令
演示:
# man ls
# man 章节(1-7) man 例如 # man 1 ls
# help cd
# ls --help
注:可以使用 # type 别名 来判断是内部命令还是外部命令
# type ls
# info ls
# pwd
# cd /path/to/... 绝对路径
# cd ./path/to/... 相对路径
# cd ../path/to/... 相对路径
# ls [选项,选项...] 参数...
常用参数:
· -l 长格式显示文件
· -a 显示隐藏文件
· -r 逆序显示
· -t 按照时间顺序显示
· -R 递归显示
· -h 显示内容大小(以M单位形式)
# mkdir [选项] 参数
常用参数:
· -p 建立多级目录
rmdir 删除空目录
rm -r 删除非空目录
cp 复制文件和目录
· cp [选项] 文件路径
· cp [选项] 文件... 路径
常用参数:
· -r 复制目录
· -p 保留用户、权限、时间等文件属性
· -a 等同于 -dpR
mv 移动文件
· mv [选项] 源文件 目标文件
· mv [选项] 源文件 目录
rm 删除文件
常用参数:
· -r 删除目录(包括目录下的所有文件)
· -f 删除文件不进行提示
ps:rm命令可以删除多个目录,需谨慎使用
查看文件权限
· -rw------1 root root 1523 sep 28 12:25 anaconda-ks.cfg
_ ________ ___________ _______________
类型 权限 所属用户和组 文件名
· -rw-r-xr--1 username groupname mtime filename
· rw- 文件属主的权限
· r-x 文件属组的权限
· r-- 其他用户的权限
· 创建新文件有默认权限,根据umask值计算,属主和属组根据当前进程的用户来设定
文件类型
· - 普通文件
· d 目录文件
· b 块特殊文件
· c 字符特殊文件
· l 符号链接
· f 命名管道
· s 套接字文件
文件权限的表示方式
· 字符权限表示方法
· r 读
· w 写
· x 执行
· 数字权限的表示方法
· r=4
· w=2
· x=1
目录权限的表示方法
· x 进入目录
· rx 显示目录内的文件名
· wx 修改目录内的文件名
chmod 修改文件、目录权限
# chmod u+x /tmp/testfile
# chmod 755 /tmp/estfile
chmod u g o a
· u 修改属主权限
# chmod u+x file // 增加权限
· g 修改属组权限
# chmod g-r file // 删除权限
· o 修改其他用户权限
# chmod o=w file // 赋予权限
· a 修改全部权限
# chmod a+x file
chown 更改属主、属组
· 修改属主
# chown user1 /test
· 修改属组
# chown :group /test
chgrp 可以单独更改属组,不常用
# chgrp group /test
cat 文本内容显示到终端
head 查看文件开头
tail 查看文件结尾
·常用参数 -f 文件内容更新后,显示信息同步更新
wc 统计文件内容信息
常用参数:
· c 打包
· x 解包
· f 指定操作类型为文件
· z gzip格式(压缩快、压缩率低)
· j bzip2格式(压缩慢、压缩率高)
例:
# tar czf 源文件(/tmp/etc-backup.tar.gz) 目标文件(/etc)
# tar cjf 源文件(/tmp/etc-backup.tar.bz2) 目标文件(/etc)
· hjkl 左上下右
· a 在光标后一位开始插入
· A 在当前行最后一位开始插入
· o 在当前行下一行插入
· O 在当前行上一行插入
· r 替换光标所在字符
· dd 删除当前光标所在行
· x 删除光标后一位
· d + 上下左右 可删除上下行或左右单个字符
· u 撤销
· ctrl + r 重做(撤回撤销)
· shift + ^ 跳到光标当前行首
· shift + $ 跳到光标当前行尾
· yy 复制当前行
· 数字 + yy 复制当前光标所在位置及往下n行(# 3 yy 复制当前光标所在行开始往下三行)
· y + $ 复制光标当前位置至最后位置
· dd 剪切当前行
· 数字 + dd 剪切当前光标所在位置及往下n行(# 3 dd 剪切当前光标所在行开始往下三行)
· d + $ 剪切光标当前位置至最后位置
· p 粘贴
· gg 回到第一行
· GG 回到最后一行
· 数字 + gg 回到数字所在行(23 + gg 回到23行)
· ?查找字符 可查找需要查找的字符(# ?test 查找文本中含有test字符位置)
· n 向下查询查找的字符
· N 向上查询查找的字符
· s/old/new 替换当前行old字符更换为new字符(#s/test/test1 将当前行test字符更换为test1字符)
· %s/old/new 替换当前文本中第一个old字符更换为new字符(# %s/test/test1/g 将当前文本中第一个test字符更换为test1字符)
· %s/old/new/g 替换当前文本中所有old字符更换为new字符(# %s/test/test1/g 将当前文本中所有test字符更换为test1字符)
· 数字,数字/old/new 替换当前文本指定行数第一个old字符更换为new字符(# 3,5s/test/test1 将当前文本中第三行到第五行中第一个test字符替换成test1)
· 数字,数字/old/new/g 替换当前文本指定行数所有old字符更换为new字符(# 3,5s/test/test1/g 将当前文本中第三行到第五行中所有test字符替换成test1)
· set nu 显示行数
· set nonu 不显示行数
三种进入可视模式的方法
· v 字符可视模式
· V 行可视模式
· ctrl + v 块可视模式
·配合d和I命令可以进行块的便利操作
useradd [用户名] 新建用户
# useradd username 新建username用户
注:可使用 -g 在新建用户时直接分组
# useradd -g group1 user1 新建user1用户并加入group1组中
id [用户名] 查询该用户是否存在以及所在组
# id username 查询username是否存在以及所在组
passwd [用户名] 修改用户密码
# passwd username 修改username密码
userdel [用户名] 删除用户
# userdel username 删除username用户
注:
· -r 删除用户并删除用户家目录等数据
# userdel -r username 删除username账户所有信息包括路径
usermod [选项] [用户名] 修改用户属性
常用参数:
· -a 将用户增加到附件组。只能和 -G 选项一起使用。
· -c 用户密码文件中注释字段的新值。
· -d 用户的新登录目录(修改新的用户家目录地址)。
· usermod -d [路径] [用户名]
# usermode -d /home/w1 w
· -e 用户账户将被禁用的日期。
· -g 将用户修改进某个用户组
· usermod -g [用户组名] [用户名]
# usermod -g group1 user1
chage [选项] [用户名] 修改用户属性
# groupadd group1 新增group1用户组
groupdel [用户组名] 删除用户组
# groupdel group1 删除group1用户组
su 切换用户
sudo 以其他用户身份执行命令
visudo 设置需要使用sudo的用户(组)
# visudo 根据提示修改需要增加的用户以及授权特殊命令
net-tools
ifconfig
· eth0 第一块网卡 (网络接口)
· 你的第一个网络接口可能叫做下面的名字
· eno1 板载网卡
· ens33 PCI-E网卡
· enp0s3 无法获取物理信息的PCI-E网卡
· CentOS 7 使用了一致性网络设备命名,以上都不匹配则使用eth0
route
netstat
iproute2
网卡命名规则受biosdevname和net.ifnames两个参数影响
编辑 /etc/default/grub 文件,增加 biosdevname=0 net.ifnames=0
更新 grub
# grub2-mkconfig -o /boot/grub2/grub.cfg
重启
# reboot
| biosdevname | net.ifnames | 网卡名 | |
|---|---|---|---|
| 默认 | 0 | 1 | ens33 |
| 组合1 | 1 | 0 | em1 |
| 组合2 | 0 | 0 | eth0 |
查看网卡物理连接情况
# mii-tool eth0
查看网关
# route -n
· 使用 -n 参数不解析主机名
ifconfig <接口>
ifup <接口>
ifdown <接口>
ifcfg-eth0 //网卡配置文件
# cd /etc/sysconfig/network-scripts
# vim ifcfg-eth0
/etc/hosts //主机配置文件
软件名称 \color{#FF00FF}{软件名称} 软件名称 软件版本 \color{#FF7D00}{软件版本} 软件版本 系统版本 \color{#00FF00}{系统版本} 系统版本 平台 \color{#00FFFF}{平台} 平台
rpm格式内核
# uname -r
升级内核版本
# yum install kernel-3.10.0
# yum update
源代码编译安装内核
# yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel
下载并解压缩内核
https://www.kernel.org
# tar xvf linux-5.1..10.tar.xz -C /usr/src/kernels
配置内核编译参数
# cd /usr/src/kernel/linux-5.1.10/
# make menucofig | allyesconfig | allnoconfig
使用当前系统内核配置
# cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/.config
查看CPU
# lscpu
编译
# make-j2 all
安装内核
# make modules_install
# make install
查看命令
# ps
# pstree
# top
结论
调整优先级
nice 范围从-20到19,值越小优先级越高,抢占资源就越多
renice 重新设置优先级
进程的作业控制
jobs
# jobs //查看所有作业
# ./a.sh & //将程序挂载在后台
# fg 1 //fg 作业号,将后台作业调转至前台
# ctrl +z //将作业展示停止,但不销毁进程
# bg 1 //bg 作业号,将作业调度启动至后台
& 符号 //将进程挂在后台执行