一、常用命令
1.1 文件操作命令
查看当前路径下的文件
ls 显示当前路径下的所有文件,蓝色代表文件夹,白色代表文件
ls -a 显示所有文件,包括隐藏文件,(.xxx的文件)都是隐藏文件
ls -lh 前四个对应 文件修改次数 + 文件所有人 + 文件所属组 + 文件大小
ls *.txt 显示当前路径下 所有txt文件
ls 1* 显示当前路径下 所有以1开头的文件
创建文件和文件夹
touch test.txt 当前目录创建文件
mkdir cc 当前目录创建文件夹
mkdir -p /tmp/Chinese/liudehua 同时创建多级文件夹,-p递归创建
复制文件,cp命令原文件不删除
cp -rp /etc/grub2.cfg /tmp 复制文件,-r是递归,-p是保留源文件的属性(包括所有者、所属组、权限等)
cp -r aa/bb . 复制文件夹,复制到当前路径(.)
移动文件,mv命令是删除原文件的,可以用来重命名
mv Chinese/aa.txt /home/hebe/Desktop/cc 移动文件
mv /tmp/grub2.cfg /tmp/grub3.cfg 文件重命名
删除文件和文件夹
rm -f /tmp/grub3.cfg 删除文件
rm -rf /tmp/cc 删除文件夹 -f 强制删除 -r 循环递归删除
查看文件和日志内容
cat -n test.txt 查看文件,-n前面加上行号,看着更清楚
more test.txt 查看文件,空格翻页,回车下一行。q退出
less test.txt 查看文件,空格翻页,回车下一行 比如想搜索serve 就输入/serve 输入n 就查找下一个 q退出
head -10 /etc/services 查看这个文件的前十行,改数字即可
tail -10f /etc/services 查看这个文件的最后十行 加入-f可以动态显示文件,ctrl+C退出
创建软链接,后者指向前者,软链接相当于windows的快捷方式,所有权限都为rwxrwxrwx
link -s /etc/issue /tmp/issue.soft
创建硬链接,后者指向前者,相当于拷贝加上同步更新(同步更新是因为i节点相同)
link /etc/issue /tmp/issue.hard
1.2 文件搜索命令
1. 在/etc下,搜索文件名为init的,-iname就是不区分大小写,换成/就是整个系统查找一遍
find /etc -name init
2. 在etc下,搜索文件名包含init的
find /etc -name *init*
3. 在根目录下查找大于100MB的文件,单位0.5KB,100MB=102400KB=204800
find / -size +204800
4. 在/etc下查找大于80MB且小于100MB的文件,-a 是两个条件同时满足 -o 是满足任意一个即可
find /etc -size +163840 -a -size -204800
5. 在/home下查找所有者是cccc的文件
find /home -user cccc
6. 在/home下查找所属组为cccc的文件
find /home -group cccc
7. 在/etc下查找5分钟内被修改过属性的文件和目录
find /etc -cmin -5
8. 在/etc下查找30分钟内被修改过内容的文件和目录
find /etc -mmin -30
9.搜索文件名=inittab,加入参数-i 不区分大小写
locate inittab
updatedb 升级文件资料库
它是在文件资料库查找文件,所以查找速度非常快,但是刚创建的文件查找不到,还有就是/tmp下创建文件,也查找不到,因为tmp下不在文件资料库收录范围
10. 在/etc/passwd文件内容里查找root
grep -n --color=auto "root" /etc/passwd
--color=auto 搜索出来的root加红
-i 忽略大小写 -n 显示行号 -v 反向查找
1.3 查看登录用户命令
1. 显示当前用户信息 tty是本地终端就是VM虚拟机,pts是远程终端,也就是Securecrt连接工具
who
2. 显示当前用户详细信息,第一行up表示服务器运行多长时间,users表示几个用户,load average表示负载均衡
w
3. 查看当前登录用户
whoami
4. 显示当前路径
pwd
5. 获取命令的绝对路径
whereis ifconfig
1.4 压缩解压命令
.tar.gz格式
tar -zcf ccc.tar.gz ccc 打包并压缩成ccc.tar.gz
tar -zxf ccc.tar.gz 解压缩
.tar.bz2格式
tar -cjf ccc.tar.bz2 ccc 打包并压缩成ccc.tar.bz2
tar -xjf ccc.tar.bz2 解压缩
.zip格式
zip aaa.zip aaa 压缩文件
zip -r aaa.zip aaa 压缩文件夹
unzip /home/ccc.zip -d /etc 把/home下的ccc.zip解压到/etc里
1.5 网络相关命令
1. ping命令,与windows不同,这个ping不指定4个,会一直ping下去
ping -c 4 www.baidu.com
2. 暂时性更改内网ip,重启就失效
ifconfig ens33 192.168.8.250
3. 追踪路由,显示数据包到百度间的访问路径
traceroute www.baidu.com
4. 查看过去和现在登陆服务器系统的人员信息
last
5. 查看root用户最后一次登录信息
lastlog -u root
6. 显示网络相关信息
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有的网络连接
netstat -rn 查看本机路由表
7. 输入命令setup,这里配置网络,这是永久配置
1.6 关机重启命令
shutdown -h now 关机
shutdown -r now 重启
logout 退出登陆,即SecureCRT断开连接
1.7 vim编辑器
vim aaa.txt
1. 插入命令
Esc键 + 输入“a” + 在光标所在字符后插入内容
2. 设置行号命令
Esc键 + 输入“:set nu”设置行号 + 输入“:set nonu”取消行号
3. 删除命令
Esc键 + 输入“:9,12d” 删除9-12行
4. 复制命令
Esc键 输入“4yy” 复制当前行以下4行
输入“p” 粘贴到光标所在行下面
5. 剪切命令
Esc键 输入“4dd” 剪切当前行以下4行
输入“p” 粘贴到光标所在行下面
6. 撤销操作
Esc键 输入“u”
7. 查找关键字
Esc键 输入“/str” 搜索str关键字 输入“n” 下一个出现位置
8. 替换关键字
Esc键 输入“:1,10s/ftp/yangmi/g” 在1-10行,只要有ftp的地方都删掉换成yangmi
Esc键 输入“:%s/ftp/yangmi/g” 全文替换,只要有ftp的地方都删掉换成yangmi
9. 保存修改退出命令
Esc键 输入“:w /tmp/ccc.txt” 另存为
Esc键 输入“:wq” 保存修改并退出
Esc键 输入“:q!” 不保存修改并退出
10. 把其他文件内容或命令执行结果,导入vim
Esc键 输入“:r /etc/aaa.txt” 把该路径下的txt文件内容导入到当前vim光标处
Esc键 输入“:r !date” 把该命令执行结果导入到当前vim光标处
二、用户和用户组管理
2.1 用户配置文件
在Linux中,主要是通过用户配置文件来查看和修改用户信息
后面的用户和用户组管理命令,实质就是修改这些配置文件里的信息
在影子文件中保存的是真正加密的密码串
1. 用户信息文件
vim /etc/passwd 查看配置文件,可以看到有7个字段
第1个字段:用户名称
第2个字段:密码标志,x代表用户有密码
第3个字段:UID就是用户id,0代表超级用户,1-499代表系统用户,500以上代表普通用户,uid改成0,用户变成root
第4个字段:GID,用户初始组ID,初始组一开始就有的权限,与之对应附加组,是后来添加的权限
第5个字段:用户说明
第6个字段:家目录(用户初始登陆目录) 普通用户:/home/hebe 超级用户:/root
第7个字段:登陆之后的shell
2. 用户信息影子文件
vim /etc/shadow 查看配置文件,可以看到有9个字段
第1个字段:用户名
第2个字段:加密密码,SHA512散列加密算法,如果为“!!”或“*”代表没有密码,不能登录
第3个字段:密码最后一次修改日期,以1970.1.1作为起始日期,显示出来的是过了多少天
第4个字段:两次密码的修改间隔,如果是10,意味着第一天修改密码,过10天,才能再次改密码
========================================================================
时间戳换算日期:date -d "1970-01-01 16066 days"
日期换算时间戳:echo $(($(date --date="2021/10/28" +%s)/86400+1))
例子:如果第五个字段是90,第六个字段是7,第七个字段是5
意思是90天后密码到期,要更换密码,提前7天发送警告信息,警告用户要换密码了,超出90天密码还能用,到第95天,正式密码失效
========================================================================
第5个字段:密码有效期,99999代表永久生效
第6个字段:密码到期前的警告信息,马上要改密码了
第7个字段:密码到期后的宽限天数,0代表密码到期后立即失效,-1代表永远不会失效
第8个字段:账号失效时间,要用时间戳-数字,这个是账号失效,不是密码失效
第9个字段:保留字段,这个暂时没有用
3. 组信息文件
vim /etc/group 查看配置文件,可以看到有4个字段
第1个字段:组名,默认组名和用户名一样
第2个字段:组密码标志,x代表组有密码,不推荐去设置
第3个字段:GID,组ID
第4个字段:组中附加用户
4.组信息影子文件
vim /etc/gshadow 查看配置文件,可以看到有4个字段
第1个字段:组名
第2个字段:组密码
第3个字段:组管理员用户名
第4个字段:组中附加用户
2.2 用户管理命令
1.添加用户命令:useradd
useradd tfz
passwd tfz
参数:-u 指定uid||-d 指定家目录||-c 指定用户说明||-g 指定初始组||-G 指定附加组||-s 指定用户登录shell
2.修改用户密码:passwd
passwd tfz 给tfz用户设置密码,只有root才可以给别人设密码
passwd 回车 是当前用户给自己设密码
-S (只能root)查看密码状态 用户名||密码设定时间||密码修改间隔时间||密码有效期||警告时间||密码不失效
-l (只能root)锁定用户
-u 解锁用户
3.修改用户信息:usermod 修改用户密码状态:chage
usermod tfz 对tfz用户进行修改用户信息
参数:-u 修改uid||-c 修改用户说明||-G 修改附加组||-L 临时锁定用户||-U 解锁用户
chage tfz 对tfz用户进行修改用户密码状态
参数:-l 列出用户密码的详细状态
chage -d 0 tfz 这个命令把密码修改日期归零了,这样用户一登录就要修改密码
4.删除用户:userdel 查看用户id:id 用户名 用户切换命令:su
userdel -r tfz 一般都要加-r,在删除用户同时删除用户家目录
su - root 一般都是加-这么用,-代表连带用户环境变量一起切换,就是切换成root用户
su - root -c "useradd user3" 不切换root用户,只是借用root身份,执行添加用户的命令,还是需要root密码
2.3 用户组管理命令
1.添加用户组
groupadd 组名
2.修改用户组(一般不去改,都是直接删掉新建一个组)
groupmod -n 新组名 旧组名 把旧组名改成新组名
参数:-g GID 修改组id -n 新组名 修改组名
3.删除用户组
groupdel 组名
注意:如果组里有初始用户,先删掉用户再删掉用户组,如果是附加用户就不影响组的删除
4.把用户加入组或从组中删除
gpasswd -a user1 root 把用户user1加入root组,加入后user1属于附加用户
gpasswd -d lamp1 root 把用户lamp1从root组中删除
三、权限管理
3.1 文件权限命令
r=4,w=2,x=1 rwxrw-r-- 对应764 三个对应所有人|所属组|其他人权限
改变文件权限,只有两个人可以,root+文件所有者
1.