Linux基础命令操作--shell常用指令

查看文件内容

文件不太大的时候
cat filename.txt
只能向下浏览,不能回退
more filename.txt
   enter 回车==> 显示下一行
  space 空格 ==> 显示下一页
  ctrl c 或者 q ==> 退出
从文件头部开始查看前n行内容,若无指定,则默认10行
head -5 filename.txt
从文件尾部开始查找后n行,若无知道,默认10行
tail -5 filename.txt
自由上下浏览
less filename.txt
   enter 回车==> 显示下一行
  space 空格 ==> 显示下一页
  ctrl p ==> 滚动到上一行
  ctrl n ==> 滚动到下一行
   q ==> 退出

文件或目录属性

wc filename.txt
  -c ==> 只显示字节数
   -l ==> 只显示行数
  -w ==> 只显示字数
od 查看二进制文件信息
  c ==> ASCII字符
  d ==> 有符号十进制
  f ==> 浮点数
  o ==> 八进制
  u ==> 无符号十进制
  x ==> 十六进制
du (disk use)查看某个目录的大小
  du -h filename.txt
df (disk free)查看磁盘的使用情况
  df -h filename.txt

查找和检索

按文件大小查询 -size
find + path + -size + 范围
例:等于100K文件
  find ~/ -size 100K
  大于100K
  find ~/ -size +100K
  大于50K,小于10M
  find ~/ -size +50K -size -10M
按文件类型查询 -type
find + path + -type + 类型
  find /home -type d
按文件名查询 -name
find + path + -name + "文件的名字"
  find /home -name "filename.c"
按文件内容查找
grep -r + "关键字" + path
  grep -r "main" /home

压缩包管理

tar 压缩
tar -zcvf xxx.tar.gz filename.txt
tar -jcvf xxx.tar.bz2 filename.txt
解压缩
tar -z/jvxf xxx.tar.gz/bz2 解压到当前路径
tar -z/jvxf xxx.tar.gz/bz2 -c 解压目录
rar
打包:rar a -r 压缩文件名 压缩目录
解包:rar x xxx.rar + 目录
zip
打包:zip -r xxxx.zip 打包目录
解包:unzip xxxx.zip -d 目录

用户管理

创建用户 sudo useradd + username
  sudo useradd -s /bin/bash -g panda -d /home/panda -m panda
  -s => 指定新用户登录时shell类型
  -g => 指定所属组,该组必须已存在
  -d => 用户家目录
  -m => 用户家目录不存在时,自动创建
设置用户组 sudo groupadd pnada
删除用户 sudo userdel + 用户名
  sudo userdel -r panda
  -r => 把用户的主目录一起删除、
切换用户 sudo + 用户名
  root => sudo su
设置密码 sudo passwd + 用户名
  sudo passwd root
  sudo passwd

文件权限

变更文件或目录的权限 chmod
文字设定法
chmod + 操作对象 + 操作符 + 权限 + 文件名
  chmod u +wx filename.txt
  操作对象
   u => 文件所有者
   g => 文件所属组
   0 => 其他
   a => 所有用户
  操作符
   + => 添加权限
   - => 取消权限
   = => 赋予给定权限并取消其他权限
  权限
   r => 读
   w => 写
   x => 执行
数字设定法
  chmod 755 filename.txt
   0 => 无 -
   1 => 执行 x
   2 => 写 w
   4 => 读 r

文件用户和组

将指定文件的所有者改为指定用户或组 chown
用户可以是用户名或用户ID;组可以是祖名或组ID
chown + 参数 + 所有者:组 + 文件
  -c => 显示更改的部分信息
  -f => 忽略错误信息
  -h => 修复符号链接
  -R => 处理指定目录以及其他子目录下所有文件
  -v => 显示详细处理信息
  -deference => 用于符号链接的指向,而不是链接文件本身
例:改变拥有者和群组 chown 组名1:组名2 文件名
  chown tony:tony filename.txt
例:改变指定目录以及子目录下所有文件的拥有者和群组
chown -R -v group1:group2 filename
  chown -R -v root:panda lib
变更文件和目录所属群组 chgrp
chgrp + 参数 + 组名 + 文件名
  参数
  --no-dereference => 用于符号链接本身
  其他参数同chown
例:改变文件的群组 chgrp -v groupname filename
  chgrp -v panda file.txt
例:根据指定文件改变文件的群组 chgrep --reference=参考文件名 文件名
  chgrp --reference=file.txt file.log
例:通过群组识别码改变文件群组 /etc/group
  chgrp -R 100 目录

文件属性

改变文件属性 chattr
  a => 让文件或目录仅供附加用途
  b => 不更新文件或目录的最后存取时间
  c => 将文件或目录压缩后存放
  d => 将文件或目录排除再倾倒操作之外
  i => 不得任意更改文件或目录,不能删除、修改、重命名、链接
  s => 保密性删除文件或目录,空间回收
  S => 即时更新文件或目录
  u => 预防意外删除,可恢复
  H => 不修改对这个文件的最后访问时间
  D => 检查压缩文件中的错误
  t => 文件系统支持尾部合并
  x => 可直接访问压缩文件的内容
lsattr 显示特殊属性

声明:本人所写的只是本人在使用中遇到的问题做个记录总结,很多内容也是百度,或者查阅官方文档,若与他人有重复;若需按照本文配置,请认真确认是否适合你的情况,造成一切损失;本人概不负责。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容