Linux学习笔记

这篇博客详细介绍了Linux系统的常用命令,包括文件操作、用户和用户组管理、权限控制、文件系统管理、Shell编程、系统监控、日志管理和备份恢复等关键知识点。深入探讨了如SUID、SGID权限、chattr、Bash脚本、top命令以及日志切割等实用技巧。
摘要由CSDN通过智能技术生成

一、常用命令

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 用户配置文件

  1. 在Linux中,主要是通过用户配置文件来查看和修改用户信息

  2. 后面的用户和用户组管理命令,实质就是修改这些配置文件里的信息

  3. 在影子文件中保存的是真正加密的密码串

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.
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux学习笔记是关于学习Linux操作系统的记录和总结。在学习Linux时,你可能会遇到以下几个方面的内容。 首先,Linux是一个面向网络服务的操作系统,因此你可以随意更换桌面系统。Linux有多种不同的桌面系统供你选择。这意味着你可以根据自己的喜好和需求,选择适合自己的桌面环境。 其次,在Ubuntu中,root用户默认是被锁定的,因此你无法直接使用root权限进行操作。但是,你可以使用sudo命令来提升权限,以执行需要root权限的操作。通过sudo命令,普通用户可以在需要时暂时获得root权限,以便进行需要的操作。 此外,如果你需要修改内核为bash,可以使用vim编辑器打开/etc/passwd文件进行修改。在Linux系统中,vim是一种常用的文本编辑器,类似于Windows的记事本。通过编辑/etc/passwd文件,你可以修改用户的登录shell为bash。 总结起来,Linux学习笔记记录了学习Linux操作系统的过程和经验,包括选择适合自己的桌面环境、使用sudo提升权限以及通过vim编辑器修改/etc/passwd文件等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux学习笔记](https://blog.csdn.net/m0_65379736/article/details/125700177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值