Linux 中常用命令

Posted 风中的簌雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 中常用命令相关的知识,希望对你有一定的参考价值。

命令基本格式:

命令提示符:[[email protected] ~]#
      root 代表当前的登录用户(linux当中管理员账号是root)
      @ 无实际意义
      localhost 代表当前计算机的主机名
      ~ 表示当前所在目录(家目录)
      # 表示超级用户的提示符 (普通用户为$)

命令格式: 命令 [选项] [参数] ([]表示可以省略)
      个别命令的使用不遵循次格式
      当有多个选项时,可以写在一起
      简化选项和完整选项 -a 等于 --all


ls [选项] [文件或目录]  (list)  

作用:查询目录中的内容
选项:
  -a 显示所有文件,包括隐藏文件
  -l 显示详细信息
  -d 查看目录属性
  -h 人性化显示文件大小
  -i 显示文件inode(ID号)


mkdir -p [目录名] (make directories)

作用:创建新目录
  -p 递归创建(一次创建多个)


cd [目录] (change directory)

作用:切换所在目录 
简化操作:
  cd ~ 进入当前用户的家目录
  cd - 进入上次目录
  cd ..进入上一级目录
  cd . 进入当前目录

 

相对路径:参照当前所在目录,进行查找
如:[[email protected] ~]# cd../usr/local/src/

绝对路径:从根目录开始指定,一级一级对贵查找。
在任何目录下,都能进入指定位置
如:[[email protected] ~]# cd/etc/


pwd (print working directory)

作用:查询所在目录位置 

 

rmdir [目录名] (remove empty directories)

作用:删除空目录 


rm -rf [文件或目录] (remove)

作用:删除文件或目录 
  -r 删除目录
  -f 强制删除


cp [选项] [原文件或目录] [目标目录] (copy)

作用:复制文件或命令
选项:
  -r 复制目录
  -p 连带文件属性复制
  -d 若原文件是链接文件,则复制链接属性
  -a 相当于 -pdr

 

mv [原文件或目录] [目标目录] (move)

作用:剪切或改名命令

 


linux中常用目录的作用:

  / 根目录
  /bin 命令保存目录(普通用户皆可以读取的命令)
  /doot 启动目录,启动相关文件
  /dev 设备文件保存目录
  /etc 配置文件保存目录
  /home 普通用户的家目录
  /lib 系统库保存目录
  /mnt 系统挂载目录(常用)
  /media 挂载目录
  /root 超级用户的家目录
  /tmp 临时目录
  /sbin 命令保存目录(超级用户才能使用的目录)
  /proc 直接写入内存的
  /sys
  /usr 系统软件资源目录
  /usr/bin 系统命令(普通用户)
  /usr/sbin 系统命令(超级用户)
  /var 系统相关文档内容

proc和sys目录不能直接操作,这两个目录保存的是内存的挂载点
平时做练习的话推荐在家目录下练习(管理员root 普通用户home)
以及tmp目录下随便放内容。

 

链接命令:ln (link)
ln -s [原文件] [目标文件]
-s代表生成软连接

硬链接特征:

  1 拥有相同的i节点和储存block块,可以看做是同一文件
  2 可以通过i节点识别
  3 不能跨分区
  4 不能针对目录使用

例如:把root目录下的text文件创建一个硬链接
ln /root/text /tmp/text.hard


软链接特征:
  1 类似Windows快捷方式
  2 软链接拥有自己的I节点和Block块,但是数据
    中只保存了文件的文件名和I节点号,并没有
    实际的文件数据
  3 lrwxrwxrwx I软链接
软链接文件权限都为rwxrwxrwx
  4 修改任意文件,另一个都不改变
  5 删除原文件,软链接不能使用
例如:ln /root/text /tmp/text.soft

 

文件搜索命令:
文件搜索:locate(搜索速度快)但是不能搜索到新建文件
locate 文件名locate是在后台数据库实现搜索 /var/lib/mlocate(默认一天一更新)

所以新建文件之后 需要updatedb(更新数据库)之后
才能搜索到
locate并不是所有的文件都能搜索到,搜索时遵循
/etc/updatedb.conf配置文件
# 开启搜索限制
prune-bind-mounts = "yes"
#搜索时,不搜索的文件系统
prunefs = ...
#搜索时,不搜索的文件类型
prunenames = ...
#搜索时,不搜索的路径
prunepaths = ...
具体是那些 可以利用 locate locate命令查看

 

命令的搜索命令 whereis和which

whereis命令
whereis 命令名 (只能搜索系统命令不能搜索普通文件)
#搜索命令所在路径及帮助文档所在位置
选项:
  -b:只查看可执行文件
  -m:之查找帮助文件

which 文件名(不能查找shell的内置命令)
#搜索命令所在路径及别名

 

find命令:
find [搜索范围] [搜索条件] #搜索文件
例如: find / -name install.log(在/目录下按照文件名查找)
#要尽量避免大范围搜索,会非常耗费系统资源
#find是系统当中搜索符合条件的文件名。如果需要匹配
使用通配符匹配,通配符是完全匹配。
  * 匹配任意内容
  ? 匹配任意一个字符
  [] 匹配任意一个中括号内的字符
使用时要有双引号括起来
例如 find /root -name "install.log*"


find还支持以下几种查找方式
-iname 不区分daxiaoxie
find /root -iname install.log
-user 按照所有者搜索
find /root -user root
-nouser 查找没有所有者的文件
find /root -nouser

#查找10天前修改的文件
find /var/log/ -mtime +10

  -10 10内修改的文件
  10 10天当天修改的文件
  +10 10天前修改的文件
  atime 文件访问时间
  ctime 改变文件属性
  mtime 修改文件内容

查找文件大小是25KB的文件
find . -size 25k或者20M

-25k 小于25k的文件
25k 等于。。
+25k 大于。。
查找i节点是262422的文件
find . inum 262422
*****注意这里的k是小写M是大写(严格区分大小写)

find /etc -size +20k -a -size -50k
查找/etc目录下,大于20k并且小于50k的文件
-a (and)逻辑与 两个条件都满足
-o (or)逻辑或 两个条件满足一个即可
find /etc -szie +20k -a -size -50k -exec ls -lh {}/;
查找/etc目录下,大于20k并且小于50k的文件 并显示详细信息
-exec ls -lh {}/; 对搜索结果执行操作

 

grep命令:
grep [选项] 字符串 文件名
# 在文件当中匹配符合条件的字符串
选项:
  -i 忽略大小写
  -v 排除指定字符串


find命令与grep命令的区别:
find命令:在系统中搜索符合条件的文件名,如果需要匹配
使用通配符匹配,通配符是完全匹配。

grep命令:在文件当中搜索符合条件的字符串,如果需要匹配
使用正则表达式进行匹配,正则表达式是包含匹配。

 


帮助命令:
1 man [命令] 获取指定命令的帮助
2 命令 --help
3 help shell内部命令

第三个使用时需要两步
例如:
whereis cd 确定是否是shell内部命令
help cd 获取内部命令帮助


linux 中的压缩命令

.zip   .gz    .bz2
.tar.gz   .tar.bz2

zip压缩
zip 压缩文件名 源文件 // 压缩文件
zip -r 压缩文件名 源目录 // 压缩目录
unzip 解压缩zip文件

gzip压缩
gzip 源文件 // 例如 gzip text
压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
压缩为 .gz格式,源文件保留
例如:gzip -c text > text.gz
gzip -r 目录
压缩目录下所有子文件,但是不能压缩目录
.gz格式解压缩:
gzip -d 压缩文件
gunzip 压缩文件

.bz2格式
bzip2 源文件
压缩为.bz2格式, 不保留源文件
bzip2 -k 源文件
压缩后保留源文件
***注意:bzip2命令不能压缩目录


打包命令tar
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
例如: tar -cvf text.tar text
之后 bzip2 text.tar

解打包命令:
tar -xvf 打包文件名 -x 解打包
例如: tar -xvf text.tar

简单方法:
可以同时压缩多个文件、可以指定压缩包位置
.tar支持直接将文件打包为.tar.gz格式

tar -zcvf 压缩包名.tar.gz 源文件
-z 压缩为.tar.gz 格式
tar -zxvf 压缩包名.tar.gz
-x 解压.tar.gz格式

 

.tar.bz2压缩格式
tar -jcvf 压缩包名.tar.bz2 源文件 【-C /tmp/】 后面的可以指定解压位置
-z 压缩为.tar.bz2格式
tar -jxvf 压缩包名 .tar.bz2

tar -ztvf 压缩包 只查看压缩包内容不解压


linux 中的关机和重启的命令

shutdown [选项] [时间] & (&将该命令放到后台执行)
选项;
  -c 取消上一个关机命令
  -h 关机
  -r 重启
例如: shutdown -r now
其他关机命令:(不太安全)
  halt
  poweroff
  init 0
其他重启命令:
  reboot(比较安全 可以使用)
  init 6
退出登录命令:
  logout

 

linux 中的挂载命令
1 查询与挂载命令
  mount //查询系统中已经挂载的设备
  mount -a // 依据配置文件/etc/fstab的内容,自动挂载
2 挂载命令格式
  mount [-t 文件系统] [-o 特殊选型] 设备文件名 挂载点
选项:
  -t 文件系统:加入文件系统类型类指定挂载的类型
     可以ext3、ext4、iso9660等文件系统
  -o 特殊选项: 可以指定挂载的额外选项

挂载光盘:
建立挂载点: mkdir/mnt/cdrom/
挂在光盘: mount -t iso9660/dev/cdrom/mnt/cdrom/
卸载命令: umount 设备文件名或者挂载点
(卸载之前先cd出来,之后再卸载)

挂载U盘:
查看U盘设备文件名 fdisk -l
mount -t vfat /dev/sdb1 /mnt/usb/
linux是默认不支持NTFS文件系统的(移动硬盘)

 

linux中用户登录查看命令
w 用户名
命令输出:
  USER: 登陆的用户名
  TTY: 登录终端
  FROM: 从那个IP地址登录
  [email protected]: 登陆时间
  IDLE: 用户闲置时间
  JCPU: 指的是和该终端的所有进程占用的时间。这个时间
        里并不包括过去的后台作业时间,但却包括当前
        正在运行的后台作业所占用的时间。
  PCPU: 当前进程所占用的时间
  WHAT: 当前正在运行的命令

who 用户名
命令输出:
  - 用户名
  - 登录终端
  - 登陆时间(登录来源IP地址)

last(查询当前的登录和过去登陆的用户信息)
last命令默认是读取/var/log/wtmp文件数据
命令输出:
  - 用户名
  - 登录终端
  - 登录IP
  - 登陆时间
  - 退出时间

lostlog 查看所有用户的最后一次登录时间

lastlog命令默认是读取/var/log/lastlog文件内容
命令输出:
  - 用户名
  - 登录终端
  - 登录IP
  - 最后一次登录时间

以上是关于Linux 中常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux操作系统中常用命令汇总

Linux中常用命令(初学者必备)

Linux中常用命令Shell技巧目录结构介绍

总结工作中常用到的linux命令大全_经典

二Linux开发中常用到的命令

Linux工作中常用到的一些命令(持续更新)常用的