Linux命令总结(部分说明)

Posted

tags:

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


  1、登陆和开关机


  1.  关机
      
      halt      poweroff       init 0
      
      重启
      
      reboot       init 6       shutdown         shutdown -r 重启
      shutodwn -h 关机             shutdown -c 取消计划关机       shutdown +0 马上关机       +1 一分钟后关机

      -X X分钟后关机       20:00 今天20:00关机
      
      whoami 显示当前的登录用户名
      
      who am i 显示当前的登录用户名 终端名 登录时间
      
      who 显示当前所有的登录用户名 终端名 登录时间
      
      w 显示当前所有的登录用户名 终端名 登录时间 登录的来源 当前在做什么
      
      2.切换用户与当前工作目录


su – 用户名 切换用户,并切换至用户家目录
  su 用户名 非登陆切换用户
     cd 相对或者绝对路径 进入目录
  -P 如果目标目录是个软链接目录,则直接进入其源始目录
  .. 进入上一级目录
  cd 进入家目录
  cd ~或直接 cd 进入家目录
  cd – 进入上一次的工作目录
  pwd 获取当前目录路径
  

  3.基本常用命令


  date 获取系统时间
  
  date -s “2018-1-20 13:50:11” 设置系统时间
  hwclock 或 clock 获取原子时间
  -s 将硬时间写入软时间。
  -w 将软时间写入硬时间。
  cal 获取日历
      history 获取命令的历史记录

hostname 获取主机名

  
  中断命令
  
  ctrl+C 强制中断
  
  ctrl+d 正常中断

  
  4.帮助命令文档查询


  
  type 用来判断命令的类型
  
  enable 管理显示内部命令
  
  enable command 禁用内部命令
  
  enable -n command 激活已禁用的内部命令
  
  help 内部命令
  
  外部命令 –help
  
  查看指定命令的帮助信息
  
  whereis command 查看命令的路径(外部命令)和 帮助文档的路径
  
  which command 查看命令路径

  
  man 检索命令帮助文档
  
  5.文件查询


  
  ls 列出目录的内容
  
  ls 列出目录的内容
  
  -a 列出所有文件(包含隐藏文件)
  
  -A 列出所有文件(包含隐藏文件但不包含.和..)
  
  -l 长列出(即显示属性信息)
  
  -R 递归

  
  -ld 查看指定目录的属性
  
  -1 竖显示
  
  stat 文件名
  
  查看一个文件的详细属性,包括三个时间戳
  
  file 文件路径 判断文件的类型
  
  -b 只显示辨识结果,不显示文件名
  
  -f 文件路径 根据文件内容,将其中的文件分别辨识

  
  cat 文件名 查看文件内容
  
  vim 文件名 查看并编辑文件
  
  6,新建文件, 移动、复制、删除文件


  
  touch newfile 创建空文件
  
  touch oldfile 更新文件的三个时间戳
  
  touch -a oldfile 更新文件的atime和ctime
  
  touch -m oldfile 更新文件的mtime和ctime
  
  touch -t 201802122021.59 fstab
  
  touch -c newfile 若文件存在则更新时间戳,若不存在不创建
  
  mkdir
  
  -p 一次性创建多级目录,无论父级目录是否存在。
  
  -v 创建时显示信息
  
  -m mode 创建时直接指定权限
  
  rmdir 删除空目
  
  cp src dst 被复制文件路径 新文件或被覆盖文件路径
  
  -i 覆盖时提示
  
  -r 递归,可复制目录
  
  –preserv=mode 权限不变
  

  –preserv=owner 权限及所属关系不变
  
  –preserv=timestamp 时间不变
  
  –preserv=all 以上全变
  
  -p 等于 –preserv=mode,owner,timestamp 复制时保留权限,时间不变
  
  -d 复制软链接
  
  -v 显示复制过程
  
  -a 以上全部
  
  -f 当dst已存在,但当前用户对其没有w权限,导致无法直接覆盖,如果当前用户对所在目录有wx权限,即可创建和删除文件,那么,加上-f后,会先删除文件,再创建新文件,最后再填充内容与src一致。
  
  mv src dst
  
  若dst不存在,则改名。
  
  -i 若dst已存在,则询问是否覆盖
  
  -f 抵消掉-i的作用,直接覆盖,不询问
  
  rm 删除
  
  rm 文件名
  
  -i 询问是否删除
  
  -f 抵消掉-i的作用,直接删除,不询问
  
  -r 递归,删除目录
  
  ls |xargs rm -rf 当删除的文件数量过多,超过了所支持的参数数量上限时,可配合管道及xargs来删除。
  
  –no-preserve-root
  

  7.文本处理命令


  
  tr
  
  [set1] [set2 将set1转换成set2,set1的位数多于set2时,多出的位数全转成 set2的最后一位,如tr abcd ef 即a转成e,bcd均转成f
  
  -d [set1] 删除set1的字符
  
  -c [set1] [set2 除了set1以外的剩下其他字符都转换set2(换行符也会被转)
  
  -cd [set1] 删除除set1以外的字符
  
  -s [set1] 将连续重复的字符转为一个
  
  cut -d分隔符(只能是单个字符) -f取哪一列 文件名
  
  -output-delimiter=分隔符 表示输出的分隔符。默认为原文件分隔符

  
  -fn,m 或 -fn-m
  
  -cn,m 或 -cn,m -cn
  
  sort
  
  -t分隔符
  
  -k以分隔符的第几列排序
  
  -n以数字方式排序
  
  -r倒序排列
  
  -u去除重复项
  
  -f忽略大小写
  
  uniq 去重
  
  uniq 去除连续的重复行,仅保留一行
  
  -u 去除连续的重复行,不保留
  
  -d 仅显示重复的行,去除不重复的行
  
  -c 显示的结果前显示重复的次数
  
  8.正则表达式grep 和 sed


  
  grep
  
  –color=auto 关键字高亮显示
  
  -v 反选
  
  -n 显示行号
  
  -c 显示匹配行的数量
  
  -i 忽略大小写

  
  -q 静默
  
  -A n 显示关键字及其下n行
  
  -B n 显示关键字及其上n行
  
  -C n 显示关键字及其上下n行
  
  -e:实现多个选项间的逻辑or关系
  
  -w:匹配整个单词
  
  -E 或 egrep 使用扩展正则
  
  -F 或 fgrep 不使用正则
  
  sed
  
  -i 更改原文件
  

  -i.bak 在更改前将原文件备份为.bak
  
  -n 不打印
  
  -e 多模式
  
  -f sed.txt 指定scripts的文件
  
  -r 指定扩展正则
  
  p打印
  
  d删除
  
  a在指定行后增加
  

  i在指定行前增加
  
  c替换指定行
  
  w将模式空间的行写入指定文件
  
  r将文件中的内容读入模式空间
  
  =: 为模式空间中的行打印行号
  
  !:模式空间中匹配行取反处理

Linux命令的语法格式:

COMMAND options arguments

选项:定义命令的执行特性

       长选项:--引导,后跟单词,如 --help,--verbose

       短选项:-引导,后跟单个字符,如-h,-l,-a

               多个短选项可以组合: -h, -l , -a = -hla

       有些选项也可以带参数

参数:定义命令的作用对象


ls : 列出指定目录下的文件

       -l : 长格式显示文件的详细属性

               文件类型

               属主、属组及其它用户的权限

               文件被硬链接次数

               属主

               属组

               文件的大小

               文件最后一次被修改的时间

               时间戳:

                       最后一次被访问

                       最后一次被修改:内容

                       最后一次被改变:属性

       -a : 显示所有文件,包括隐藏文件

       -A : 跟-a功能相同,但不显示.和..;

               . : 当前目录;

               .. : 上级目录;

       -n : 以用户级组的id号排序;

       -h : 文件大小会自动进行单位换算;

       -r :文件名逆序显示;

       -R:递归显示;

       -1 : 纵向列表显示,列表过滤或需要复制纵向结果时常用。


执行历史命令数据的快捷方法

!# : 执行历史中的第#条;

!-#: 执行历史中的倒数第#条;

!! : 命令历史中的最后一条命令;

!string : 执行命令历史中最近一条以“string”开头的命令

Ctrl+r  输入”string”: 搜索命令历史中最后一条以“string”开头的命令

COMMAND !$ 使用上一个命令的参数 也可用Alt+. 或 Esc .

系统时钟与硬件时钟的同步

hwclock

       -w : 以系统时钟为准,将硬件时间修改为系统时间

       -s : 以硬件时钟为准,将系统时间修改为硬件时间


Linux FHS标准目录结构:

/ : 根目录;

/bin : 二进制,可执行的命令;

/sbin : 可执行命令,仅用于管理,通常管理员才权限使用;

/boot : 引导,操作系统用于引导系统启动的文件,内核、grub;

/dev : 设备文件;

       Linux的设备类型;

       字符设备:c, 线性设备

       块设备 : b, 随机设备

/etc : 配置文件;

/home : 用户的家目录,/home/USERNAME, jerry,/home/jerry;

/root : 管理员的家目录;

/lib, /lib64 : 库文件

/media : 挂载点目录,通常用于挂载便携性设备,如U盘;

/mnt : 挂载点目录,挂载额外的文件系统;

/misc : 备份目录;

/opt :可选目录,通常第三方软件偶尔安装于此路径下;

/proc : 伪文件系统:内存中内核的映射;

/selinux : 安全加强的Linux;

/srv : 属于服务的中间数据存储位置;

/sys : 伪文件系统,通常用于访问硬件设备属性信息;

/tmp : 临时文件目录;

/usr : 存储只读文件;

/var : 经常会发生变化的文件;比如说日志等;

切换到家目录的常用快捷方法

                      cd ~

                           cd  

                           cd ~USERNAME : 切换到USERNAME的家目录;

                           cd - : 在上个目录和当前之间切换;


dirname : 显示指定路径的目录

在写脚本的时候常用来获取相应脚本的所在目录

例:

test.sh 脚本内容如下

base_dir=$(cd `dirname $0` && pwd) 
echo $base_dir
执行结果 : 是test.sh的所在目录

bash支持命令行展开:{}

       分别创建这四个目录 a_b,a_d,c_b,c_d

       方法一: mkdir a_b a_d c_b _c_d

       方法二: mkdir  {a,c}_{b,d} –v

       分别创建这几个目录 x/y, x/z, x/y/a, x/y/b, x/m

            mkdir x/{y/{a,b},z,m}

文件相关的命令:

       查看:

               cat , tac : 正向和反向输出文件内容

               more/less

                       more : 向后翻,在翻至文件尾部前允许向前翻

                       less : 向前后都可以

               head/tail

                       head : 文件的前n行 默认10行

                       tail : 文件的后n行 默认10行

                       -n  : 指定输出n行

                       tail -f : 实时输出文件尾部内容;退出使用Ctrl+C;

id命令:

id - print real and effective user and group IDs

id [OPTION]... [USER]

常用选项:

-u:查看uid

username:查看用户是否存在

在centos6.x中uid:

0:root用户

1-499:系统用户

500-65534:普通用户

在centos7.x中uid:

0:root用户

1-999:系统用户

1000-65534:普通用户

查看当前shell类型:

~]# echo $SHELL

shell的配置文件:/etc/shells  

~]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

显示提示符格式:\\u:user \\h:host \\w:present path  

~]# echo $PS1

[\\[email protected]\\h \\W]\\$

自定义提示格式:PS1=[.....]

PS1:

\\u: 当前用户名

\\h: 主机名

\\H: FQDN,完整格式的主机名

\\W:当前工作目录的基名

\\w: 当前工作目录绝对路径

\\$: 提示符

当前使用命令查看:type  

内嵌:type cd  查看帮助手册:help  cd

外部:type mkdir    

hash命令:

搜索外部命令路径的结果缓存至key-value

hash:显示缓存

hash -r:清空缓存  

hash -d:清空指定命令的缓存 如:hash -d ls  

命令的执行的顺序:先找内部命令->缓存外部->外部命令,按照$PATH来找。

alias命令:

显示系统的别名,和设别名。

选项:

alias  ls=ls --color=auto 设置别名  

unalias ls  取消别名

which命令:

显示命令的位置所在

which COMMAND  which mkdir  

whereis命令:

显示命令的帮助文档和命令所在的位置

date命令:

显示系统的时间

选项:

-s:修改系统时间  

date: 日期和时间

date [options] [+FORMAT]

%s: 时间戳计时法,从Unix元年(1970-01-01 00:00:00)到此刻所经过的秒数

%F, %D

%T

%Y

%m

%d

%H

%M

%S

date [MMDDhhmm[[CC]YY][.ss]]

 

Linux有两个时钟:系统时钟和硬件时钟

硬件时钟:

系统时钟:Linux

 

hwclock

-s: 以硬件为准

-w:以系统为准

 

ntp: Network Time Protocol

通过网络同步系统时间

 

C/S: Server, Client

 

ntpdate SERVER

 

 

screen命令:

screen  -  screen  manager  with VT100/ANSI terminal emulation

安装screenrpm包:

rpm -i /media/CentOS_6.8_Final/Packages/screen-4.0.3-19.el6.x86_64.rpm

执行:screen -x chen

在另一端执行:screen -ls screen -rchen

echo命令:

功能:回显

选项:

\\a:发出警报

\\b:退格

\\c:不加上换行符

\\n:换行且换标移道行首

\\e:转义

 

~]# echo -e "\\033[42;31mman\\033[0m"

~]# echo -e "\\033[41;36m something here \\033[0m"

 

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 
格式如下: 

echo -e "\\033[字背景颜色;文字颜色m字符串\\033[0m" 

例如: 

echo -e "\\033[41;36m something here \\033[0m" 

其中41的位置代表底色, 36的位置是代表字的颜色 
注: 
  1、字背景颜色和文字颜色之间是英文的"" 
  2、文字颜色后面有个
  3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 
  下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配 
 

echo -e “\\033[31m 红色字 \\033[0m”

echo -e “\\033[34m 黄色字 \\033[0m”

echo -e “\\033[41;33m 红底黄字 \\033[0m”

echo -e “\\033[41;37m 红底白字 \\033[0m”

字颜色:30—–37 

  echo -e “\\033[30m 黑色字 \\033[0m”

  echo -e “\\033[31m 红色字 \\033[0m”

  echo -e “\\033[32m 绿色字 \\033[0m”

  echo -e “\\033[33m 黄色字 \\033[0m”

  echo -e “\\033[34m 蓝色字 \\033[0m”

  echo -e “\\033[35m 紫色字 \\033[0m”

  echo -e “\\033[36m 天蓝字 \\033[0m”

  echo -e “\\033[37m 白色字 \\033[0m”

字背景颜色范围:40—–47 

  echo -e “\\033[40;37m 黑底白字 \\033[0m”

  echo -e “\\033[41;37m 红底白字 \\033[0m”

  echo -e “\\033[42;37m 绿底白字 \\033[0m”

  echo -e “\\033[43;37m 黄底白字 \\033[0m”

  echo -e “\\033[44;37m 蓝底白字 \\033[0m”

  echo -e “\\033[45;37m 紫底白字 \\033[0m”

  echo -e “\\033[46;37m 天蓝底白字 \\033[0m”

  echo -e “\\033[47;30m 白底黑字 \\033[0m”

最后面控制选项说明 

  \\33[0m 关闭所有属性

  \\33[1m 设置高亮度

  \\33[4m 下划线

  \\33[5m 闪烁

  \\33[7m 反显

  \\33[8m 消隐

  \\33[30m — \\33[37m 设置前景色

  \\33[40m — \\33[47m 设置背景色

  \\33[nA 光标上移n

  \\33[nB 光标下移n

  \\33[nC 光标右移n

  \\33[nD 光标左移n

  \\33[y;xH设置光标位置

  \\33[2J 清屏

  \\33[K 清除从光标到行尾的内容

  \\33[s 保存光标位置

  \\33[u 恢复光标位置

  \\33[?25l 隐藏光标

  \\33[?25h 显示光

 

命令扩展、被包括起来的集合

 

whatis命令:

whatis - search the whatis database for complete words.

如何获取命令帮助:

内置命令:help COMMAND

例如:help history

    外部命令:

1COMMAND --help

2、手册:manual

man [#] COMMAND

如何查看指定命令在哪些章节下有帮助:

whatis COMMAND

注意:whatis根据数据库执行查找操作,此库为系统定期更新;可使用makewhatis手动更新;


man的使用机制:

翻屏:

空格键:向文件尾部翻一屏

b: 向文件首部翻一屏

回车键:向文件尾部翻一行

k: 向文件首部翻一行

Ctrl+d: 向文件尾部翻半屏

Ctrl+u: 向文件首部翻并屏

字串搜索:

/keyword: 从文件首部向尾部进行搜索

?keyword: 从文件尾部向首部进行搜索

n: 显示找到的下一个

N:显示找到的上一个

 

      退出:q

3info命令:获取在线文档

仅在man手册无法获取到足够信息,或想了解程序的开发历史时才使用info

4、很多应用程序都自带有帮助文档:/usr/share/doc/

ChangeLog: 程序版本升级的变动情况

INSTALL: 安装方法说明

README:程序说明信息

安装vmware-tools:

cd /media/VMware\\ Tools/

ls

cp  VMwareTools-10.0.0-2977863.tar.gz  /testdir/

cd /testdir/

tar xvf VMwareTools-10.0.0-2977863.tar.gz

cd vmware-tools-distrib/

./testdir/vmware-tools-distrib/vmware-install.pl d

reboot

图形界面开机免密码登录:在/etc/gdm/custom.conf [daemon]下添加如下代码:

  vi /etc/gdm/custom.conf

[daemon]

AutomaticLoginEnable=True

AutomaticLogin=root

命令别名:

       alias

       \\COMMAND : 使用命令自身,而不使用与命令名称同名的别名;

       例:在root用户下使用cp复制文件需要覆盖时默认会提示因为root用户默认别名为 alias cp=’cp -i’, 使用\\cp 则 不提示直接覆盖


通配符:bash 支持文件通配 ,globbing

* : 任意长度的任意字符;

?:任意单个字符

[] : 指定范围内的凭单单个字符;[a-z]

       [0-9] : 所有的数字

       [a-z] : 所有的小写字母

       [A-Z] : 所有的大写字母

       [a-zA-Z]:所有的字母

       [0-9a-zA-Z]:所有的数字和字母

       不区分大小写;

       字符集合(过滤文件内容时使用下面的集合比上面的字符更准确):

               [:digit:] : 所有数字,相当于0-9

                       [0-9], [[:digit:]]

               [:lower:] : 所有的小写字母

               [:upper:] : 所有的大写字母

               [:alpha:] : 所有的字母

               [:alnum:] : 相当于[0-9a-zA-Z]

               [:space:] : 空白字符

               [:punct:] : 所有标点符号

[^] : 脱字符,取反,指定范围外的任意单个字符,[^0-9]

Linux 文件类型:

       普通文件(-):a.html, b.txt , c.ppt , ls

       目录文件(d):

       特殊文件:

               块设备文件(b):

               字符设备(c):

       符号链接文件(l) :

       命名管道文件(p) :  pipe

       套接字文件    (s): socket

判断普通文件的内容的类型,使用file命令;

# file FILE


以上是关于Linux命令总结(部分说明)的主要内容,如果未能解决你的问题,请参考以下文章

Linux部分命令的总结

Linux部分命令的总结

部分linux命令总结

Linux基础:df命令总结

Linux学习总结(80)—— 开发人员最常用的 Linux 命令总结

Linux学习总结(80)—— 开发人员最常用的 Linux 命令总结