linux个人学习的一点记录(2)

本文详细介绍了Linux环境下常用的命令操作,包括文件处理、权限管理、文本编辑等。深入解析了ls、mail、tee等命令的使用方法及技巧,同时涵盖了Vi编辑器的基本操作与inode文件系统的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、
ls -l /dev/std*
lrwxrwxrwx 1 root root 15 Apr 8 23:14 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Apr 8 23:14 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Apr 8 23:14 /dev/stdout -> /proc/self/fd/1

ls 1>>ls.log 2>> lserror.log

find /etc/ -name passwd >stdout 2>&1 &1表示前一个

find /etc/ -name passwd &>stdout
&表示all(0,1,2...)建议不使用&,不明确


2、
< 输入
tr 'A-Z' 'a-z' < .bash_profile
将.bash_profile的内容中的大写字母变成小写


3、
cut显示某一个范围的内容
-f 表示显示某一个范围或者某一个列的内容 fileds
cut -f4 result.txt 显示result.txt第4列的内容
-d 设定间隔符号,默认是Tab delimiter
cut -f3 -d: result.txt
-c 以字符分割 characters
cut -c4-8 result.txt 显示每一行的第4到第8个符号

4、
sort 对输出进行排序
sort [options] file(s)
-r 逆序排列
-f 不区分大小写
-u 唯一,去除重复
-t 设定栏位间隔符号
-n 把排列的内容按数字排序
-k 设定排列的列位,按第几列排序

cat /etc/passwd|sort -t: -k3 -n


5、mail收发邮件
root:/root>mail -s "1st mail" user1
hello xiao This is you
Goodby
. 表示结束邮件内容
Cc: 抄送给谁

用root账号给user1发邮件

接收邮件:
mail 得到邮件列表,title
&提示符下按 x或者q 离开 q已经阅读的邮件将会挪走到~user1/mbox

cat /var/spool/mail/user1


6、
tee 管道分流、存储 read from standard input and write to standard output and files
cut -f1 -d: /etc/passwd|tee cut.file|sort|tee sort.file|less


7、
groups user1 显示user1所在的组
usermod -a -Gmms user1 将user1加入到mms组
usermod -Gmms user1 将user1设定为user1和mms组成员,并删除其他的组信息
cat /etc/group
user1:x:500: 第二个栏位的x表示需要密码登录
mms:x:501:sms,user1 第三个栏位表示这个group下的成员

cat /etc/passwd
www:x:88:88::/home/www:/bin/bash 第二栏x表示www用户需要用密码登录系统,删除x将第二栏设为空则表示无需密码即可登录 /bin/bash 表

示登录完后执行的第一个程序是启动shell

cat /etc/shadow
www:!!:14312:0:99999:7::: 第二栏!!开头表示www账号为设定密码
user1:$1$yCBm6N3e$O3dScN4Zf2eZx52n1Zono.:14346:0:99999:7::: 第二栏$1开头表示已设置密码后面跟着密码

8、Vi相关
a 当前光标位置下一个进行插入
i 当前光标位置进行插入操作

A 当前光标所在行尾进行插入
I 当前光标所在行头进行插入

o 当前光标所在行上方插入一新行用于输入
O 当前光标所在行下方插入一新行用于输入


cc dd yy 修改、删除、复制行
p (小写p)将复制的行数据放在当前行的下方
P (大写P)将 复制的行数据放在当前行的上方

cl dl yl 修改、删除、复制字符
cw dw yw 修改、删除、复制单词
p (小写p)将复制的数据放在当前光标的后方
P (大写P)将复制的数据放在当前光标的前方


u 恢复最近一次的变动undo
ctrl+r 取消最后一次的回复,对恢复效果不满意,取消恢复
U(大写) 取消当前文件的所有修改,操作,先输入大写U,再按小写u,恢复成文件初始 参考extend mode :e!

dtc 从当前光标位置一直删除到字符c (c可以是任意一个字符) delete to 删除到
rc 将当前光标位置的字符用字符c取代 (c可以是任意一个字符) replace 替换


yy dd x p 等前方加数字等于重复执行这些命令多少次

R 进入Replace mode 替换模式 。在当前光标下输入文字,并取代当前文字,可以一直输入,直到按Esc回到命令模式。
在替换模式下,按Backspace倒退键可以恢复原来被替换的字符


9、inode,文件系统相关

block 默认4k,一个文件最少会占用一个block不管文件内容多少
inode 决定了一个分区最多能存储多少个文件,每一个inode对应一个文件

每个inode都是inode table的一个记录
inode table 记录了每个inode对应的file的metadata,例如filetype,permission,link count,uid,gid,timestamp(at,mt,ct),pointer(指向实际文件存储的block)等等

directory是一个mapping,上面记录了目录里面的文件名称和inode-no的对应

cp命令 copy文件过程
1、使用一个空闲的inode-no ,并在inode table里面设置一个新的记录
2、在文件所在的dirctory创建一个 dirctory条目,并将文件名关联到inode-no
3、将实际文件数据拷贝到新文件

mv 移动文件或重命名文件
若在同一个分区里,inode不变,只改变dircotry entry,新增加一个entry,删除旧的entry

rm file
减少link count,如果link count为0后,将inode number释放,标记inode number可以使用
设置file占用的文件空间是可使用的 (数据不会直接删除,后面的文件覆盖其)
从file所在的目录删除direcotry entry


软连接
ln -s 会使用一个新的inode,删除原始文件,连接失效

硬连接 把多个文件名称对应到一个inode上,link count加1 不会增加inode 使用同一个inode
硬连接可以避免重要的资料被误删除
硬连接只能在同一个分区使用,因为不同分区的inode不同
不能在目录上建立硬连接


- 普通文件
-d 目录
-l 软连接
-b 块文件 block special file
-c 字符文件 character special file
-p 命名管道 用于在程序中传输信息
-s socket文件


tar tvf archive_name.tar 查看tar里的文件详情
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值