目录结构
- 命令
1.1 bin:放普通命令,如ls
1.2 sbin:放特殊命令,如shutdown - 家目录
2.1 /home:普通用户的家
2.2 /root:超级用户的家 - boot:放启动内核
- dev:放设备,如硬盘,光盘
- etc:放配置,如password就是创建用户时会有一条记录
- tmp:临时目录,谁都可以在这存放数据,但只有创建者能读写,其他用户只能读
- var:可变目录,var/log,存储日志,系统登录的日志,系统操作的日志
- proc:存储运行时系统状态,如cpu,内存
- usr:系统目录,usr/lib 存放库文件
操作
-
创建
mkdir:创建目录,mkdir xx -pv(p:递归创建,v:显示创建过程)
touch:创建文件 -
删除
rm:删除文件
rm -r:递归删除目录,-f:强制删除,-i:提示是否删除 -
复制
cp -r:复制目录及目录下文件。如果目标目录存在,则复制在目标目录下。如果目标目录不存在,则创建目标目录,然后把源目录下的文件复制过去
cp -r aa bb cc dd/:将aa bb cc等多个文件复制到dd中 -
移动
mv -
查看文件内容
- cat:查看文件所有内容。-n 显示行号
- less/more:显示大文件一部分内容
ctrl+f:下翻页,ctrl+b:上翻页,q:退出 - head:显示文件头部。-5 显示头部5行
- tail:显示文件尾部。-5 显示尾部5行
tail -f:实时追踪文件的变化。
-
查看指令的绝对位置,which / whereis
-
下载
- 从互联网中下载 wget,curl
- 从linux服务器传到windows:sz
- 从windows传到linux服务器:rz
-
排序
sort
-t:分隔符
-k:行
-r:反转
-n:按number排序
sort -t “:” -k 3.1,3.1 -k 4.1,4.3 -n test.txt -
去重
uniq:去重,-c:对去重进行统计次数
面试题:分析日志文件中前十的ip访问量。
思路:统计重复数量就得用 uniq -c去重,uniq去重就得先排序,因为只有相邻顺序的才能去重,再对重复的数量进行倒叙排序,取前十条。
sort ip.txt | uniq -c | sort -nr | head -
取文件中第一列,默认以空格分隔 awk ‘{print $1}’
自定义分隔符 awk -F “:” ‘{print $1}’
取行 awk ‘NR==1’
取最后一列 awk ‘{print $NF}’ -
统计行数:wc -l
-
过滤关键字相关的行:grep ,$:结尾,^:开头。
-v:除了此之外,-i:不区别大小写
egrep 相当于 grep -E 可以识别正则表达式。 -
注意:
mkdir -p 是递归创建。cp 和 rm 中 -r是递归删除
sort -t 是分割,awk -F 是分割
文件
- 文件属性
-:普通文件,音频 txt等,可以用file 文件名 判别文件类型
s:socket,同一台服务器进程之间通讯的包
b:块设备,如磁盘 u盘
c:字符设备,键盘 终端
l:链接文件,软连接 快捷方式
d;目录 - 软链接,源文件指向inode指向block,inode存储的是元数据,block存储的是文件的内容。软链接是inode不一样,但block一样
命令:ln -s 源文件 新文件
应用场景:版本升级时 多个版本,那么只用一个链接指向可用的版本 - 硬链接:文件名指向同样的inode
vim文件编辑
- vim普通模式中 yy p gg G d(删行) D(删光标以后) x(删一个) u :wq q! $(行末) 0(行首) r(替换) C(删除光标后的行数据)
- 命令行模式
搜索:/内容。
为内容设置编号:set nu
替换 %s#替换前#替换后#g,%是所有行,g是所有替换前的文本
跳转第几行: :行数
保存退出 - 视图模式 操作多行的情况下
可视行:复制,删除;shift+v。删除用d,复制用y
可视块:多个重复操作时,如在多行加#,ctrl+v。插入内容shift i 也就是大I 光标在头部,删除用d x - 在异常退出时,退出前修改了没保存的文件 会生成一临时文件.swp,需要 vim -r 源文件 进行保存。然后再rm -f .filename.swp
组管理
- 组分为 基本组 附加组0
- 添加组 groupadd name
- 修改组 groupmod
- 删除组 groupdel,如果该组是用户的附加组 则可以删除,但如果该组是用户的基本组 则删除不了,需要先删除用户 才可以删除组
文件权限
- 更改权限 chmod 777 filename
- 递归更改权限 chmod -R 777 filename
文件 - r:只能对文件进行查看
- w:可以对文件进行强制修改,看不到之前的内容,会覆盖之前的内容。没什么卵用。
- x:只能搭配r,因为执行文件的过程中 需要查看文件。所以没有什么卵用
- rw:可以读和写
- rx:可以读和执行
目录 - r:只能对目录进行浏览
- rx:可以浏览和进入目录
- rwx:因为有w 所以可以对目录里的文件进行删除和复制
- 一般文件是644,目录时755
变更文件所属主和所属组 - chown username.groupname filename,第一个是属主,第二个是属组
- 浏览器访问文件,可以把该文件chown设置为访问用户的所属主和组,再用chmod设置权限640,这样可以保证该用户可以读写,其他用户不能做任何操作
sed:
取一行中的某一个部分 sed -r ‘s#^(.*)(:x.*😃(.*)#\2#g’ /etc/passwd
\2是取第二部分,\3\2\1是按照第三二一部分输出