ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux命令大全(续)

linux命令大全(续)

原创 Linux操作系统 作者:puyan 时间:2020-09-25 12:02:56 0 删除 编辑

  28、chown

  

  chown:改变文件属主、属组,只有管理员是也此命令

  

  chown USERNAME file....(只改变目录本身)

  

  -R 递归修改(修改目录及其内部文件的属主)

  

  --reference=/path/to/somefile file... 把file的属主设定为与

  

  somefile的属主一样(不需要指定属主)

  

  chown USERNAME:GRPNAME fiel... 同时改变属主和属组

  

  chown USERNAME,GRPNAME fiel... 同时改变属主和属组

  

  chown :GROUPNAME fiel....   修改属组

  

  ===========================================================================================

  

  29、chgrp

  

  chgrp:修改文件属组

  

  chgrp GROUPNAME file....(只改变目录本身)

  

  -R 递归修改(修改 目录及其内部文件的属组)

  

  --reference=/path/to/somefile file... 把file的属主设定为与

  

  somefile的属组一样(不需要指定属组)

  

  ===========================================================================================

  

  30、chmod

  

  chmod:修改文件的用户权限

  

  chmod MODE file...

  

  -R:递归修改

  

  --reference=/path/to/somefile file...

  

  chmod 755 file...

  

  修改某类用户的某些权限

  

  u:属主

  

  g:属组

  

  o:其他

  

  a:所有

  

  chmod 用户类别=MODE fiel..

  

  chmod u=wr,g=w /fiel..

  

  chmod uo=wr /file..

  

  修改某类的用户某位或某些位权限

  

  chmod 用户类别[-/+]MODE fiel..

  

  31、echo

  

  echo:输出信息

  

  echo "abc"

  

  echo "字符串" | passwd --stdin USERNAME:利用管道修改用户密码

  

  32、输入、输出重定向

  

  输出重定向:> 覆盖输出(会覆盖原文件内的内容)

  

  : >> 追加输出(不覆盖原文件的内容)

  

  set -C :禁止对已经存在文件使用覆盖重定向

  

  set +c :关闭上述功能

  

  2>:重定向错误输出,不能输出正确信息

  

  2>>:追加方式实现错误输出

  

  &>:重定向标准输出或错误输出至同一个文件。 时覆盖方式

  

  输入重定向:<

  

  <<:此处生成文档

  

  cat << END :输入信息,直至输入END时结束。(EOF或者END代表文档输入结束)

  

  cat >> /tmp/myfile.txt << END

  

  ===========================================================================================

  

  33、grep

  

  grep:根据模式,搜索文本,并将符合模式的文本行显示出来

  

  -i 忽略大小写

  

  --colour(color)颜色显示

  

  -v 反向查找,显示没有被模式匹配的行

  

  -O 只显示被模式匹配的字符串

  

  ===========================================================================================

  

  34、sed

  

  sed:流编辑器,把文本中的某一行读取到内存中进行处理,此内存空间称为模式空间。

  

  默认不编辑原文件,只对模式空间内的数据进行处理,处理结束后,将没模式空间打印至

  

  屏幕

  

  sed 'AddressCommand'  file...

  

  -n :静默模式,不在显示模式空间中的内容

  

  -i :直接修改原文件

  

  -e :(-e SCRIPT -e SCRIPT) 可以同时执行多个脚本

  

  -f /PATH/TO/SED_SCRIPT: sed -f /path/to/sed_script file

  

  :执行脚本文件

  

  -r :使用扩展的正则表达式

  

  d:删除符合条件的行

  

  fg:/etc/inittab    删除1-2行

  

  sed '/root/d' /etc/fastab 删除包含root的行

  

  p:显示符合条件的行。

  

  fg:sed '/^\//d' /etc/fastb 删除以/开头的行

  

  sed '/^\//p' /etc/fastb 显示以/开通的行

  

  a \string:在指定的行后追加新的行,内容为string

  

  i \string:在指定的行前面添加新行,内容为string

  

  r FILE :将指定的文件的内容添加至符合条件的行处

  

  w FILE :将地址指定范围内的内容另存至指定的文件中

  

  s/pattern/string/ :查找并替换(默认只替换每行中第一次被pattern匹配

  

  到的字符串)  把pattern匹配的字符换为string

  

  修饰符:g 全局替换   s/pattern/string/g

  

  i 忽略字符大小写 s/pattern/string/i

  

  s///=s###=s@@@ 在找/时就不用转意了。

  

  &:后向引用,引用模式匹配的整个串

  

  ===========================================================================================

  

  fg:sed练习:

  

  1、删除/etc/grub.conf文件中行首的空白符;

  

  sed -r 's/^[[:space:]]+//g' /etc/grub.conf

  

  2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;

  

  sed 's/id:3:initdefault/id:5:initdefault/g' /etc/inittab

  

  sed 's@\(id:\)[0-9]\(:initedefault)@\15\2@g' /etc/inittab

  

  3、删除/etc/inittab文件中的空白行;

  

  sed '/^$/d' /etc/inittab

  

  4、删除/etc/inittab文件中开头的#号;

  

  sed 's/^#//g' /etc/inittab

  

  5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;

  

  sed 's/^#[[:space:]]\{1,\}//g' /etc/inittab 或者

  

  sed  -r 's/^#[[:space:]]+//g' /etc/inittab

  

  6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#

  

  sed -r 's/^[[:space:]]+#//' 1

  

  7、取出一个文件路径的父目录名称;

  

  echo "/etc/rc.d" | sed -r 's@^(/.*/)[^/]+/?@\1@g'

  

  以/.*/开头,[^\]指非斜杠,\1引用左边第一个括号内的内容一次。

  

  echo "/etc/rc.d" | sed -r 's@^/.*/([^/]+)/?@\1@g'

  

  提取本文件

  

  ===========================================================================================

  

  35、vim

  

  vim:文本编辑器,全屏、模式化的编辑器

  

  vim模式:

  

  编辑模式(命令模式):默认

  

  输入模式

  

  末行模式

  

  ------------------------------------------------------------------------------------------

  

  vim模式转换:

  

  1、从编辑模式-->输入模式

  

  i:在当前光标所在字符的前面,转为输入模式

  

  a:在当前光标所在字符的后面,转为输入模式

  

  o:在当前光标所在行的下方新建一行,并转为输入模式

  

  I:在当前光标所在行的行首,转为输入模式

  

  A:在当前光标所在行的行尾,转为输入模式

  

  O:在当前光标所在行的上方新建一行,并转为输入模式

  

  ---------------------------------------------------------------------------------------

  

  2、从输入模式-->编辑模式

  

  键入esc键。

  

  3、末行模式:必须从编辑模式进入末行模式

  

  键入:即可。

  

  4、末行模式-->编辑模式

  

  敲esc键,一次或者多次。

  

  -------------------------------------------------------------

  

  vim退出文件:

  

  1、末行模式下关闭文件

  

  w:保存文件

  

  q:退出

  

  wq:保存并退出

  

  q!:不保存并退出

  

  w!:强制保存

  

  wq=x 保存退出

  

  2、编辑模式下退出

  

  大写ZZ:保存退出

  

  ------------------------------------------------------------------------------------------

  

  vim下移动光标(编辑模式):

  

  1、逐字符移动:

  

  h:向左

  

  l:向右

  

  j:向下

  

  K:向上

  

  #h:移动#(数字)个字符

  

  2、以单词为单位移动

  

  w:移动下一个单词的词首

  

  e:移动到当前单词的词尾或者下一个单词的词尾

  

  b:移动到当前单词的词首或者上一个单词的词首

  

  #w:一次跳#个单词。

  

  3、行内跳转

  

  0:跳到行首(绝对行首)

  

  ^:跳到第一个非空白字符的行首

  

  $:绝对行尾

  

  4、行间跳转

  

  #G:直接跳转至第#行上。

  

  G:直接跳转至最后一行

  

  末行模式下跳转:直接给出行号,回车即可。

  

  -------------------------------------------------------------------------------------------

  

  vim翻屏:

  

  ctrl+f:向下翻一屏

  

  ctrl+b:向上翻一屏

  

  ctrl+d:向下翻半屏

  

  ctrl+u:向上翻半屏

  

  -------------------------------------------------------------------------------------------

  

  vim删除字符:

  

  x:删除光标所在处的单个字符

  

  #x:删除光标所在处及向后的共#个字符

  

  vim删除命令:d

  

  d命令与跳转命令结合使用

  

  d$:删除到行尾。

  

  #d跳转符:删除跳转符指定的#个字符

  

  dd:删除当前光标所在行

  

  #dd:删除包括光标所在行之内的#行

  

  末行模式下可以使用:

  

  startADD,ednADDd

  

  1,10d:删除第一行到第十行

  

  .,100:删除当前行到100行。

  

  .表示当前行

  

  $:最后一行

  

  +#:向下的#行

  

  $-10:倒数第10行

  

  vim删除的内容为保存在缓冲中,最后一次删除的内容可以粘贴。

  

  -------------------------------------------------------------------------------------------

  

  vim粘贴命令:p

  

  p(小写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的下方,如果

  

  复制或删除的内容为非整行,则粘贴至光标所在字符的后面

  

  P(大写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的上方,如果

  

  复制或删除的内容为非整行,则粘贴至光标所在字符的前面

  

  vim复制命令:y

  

  y的用法同d

  

  yy:复制一行

  

  vim先删除内容,再转换为输入模式:c

  

  c的用法同d命令

  

  cc:删除一行,并进入输入模式。

  

  c$:删除到行尾,并进入输入模式

  

  -------------------------------------------------------------------------------------------

  

  vim下撤销编辑操作命令:u

  

  u:撤销上一次操作,连续u命令可以撤销此前的n次操作

  

  #u:直接撤销最近#次编辑操作

  

  -------------------------------------------------------------------------------------------

  

  vim超找替换

  

  /PATTERN:从行首向下查找PATTERN匹配的选项

  

  ?PATTERN:从行尾向上查找PATTERN匹配的选项

  

  vim查找并替换:s

  

  在末行模式下使用s命令

  

  用法与sed一样

  

  ADDR1,ADDR2s@PATTERN@string@gi

  

  g:全局 i:忽略大小写

  

  .,$-1 :当前行到倒数第一行

  

  1,$表示全文

  

  vim下shell交互

  

  :!COMMAND 回车查看,查看完以后再回车,进入vim编辑模式。

  

  -------------------------------------------------------------------------------------------

  

  vim高级话题

  

  1、显示或取消显示行号

  

  :set nu

  

  :set nonu

  

  2、设定忽略或区分大小写

  

  :set ignorecase

  

  :set ic 忽略

  

  :set noic

  

  3、设定自动缩进

  

  :set autoindent

  

  :set ai 缩进

  

  :set noai

  

  4、查找到的文本高亮显示或取消高亮显示

  

  :set hlsearch 高亮显示

  

  :set nohlserch 取消

  

  5、语法高亮

  

  :syntax on 开启

  

  :syntax off 关闭

  

  36、let

  

  let:相当于一个小的计算器

  

  let SUM+=$I ;sum等于sum+I

  

  let I+=1:让I等于I加1

  

  let I++:让I等于I加1

  

  let I-=相当于let I--:I等于I减1

  

  37、locate

  

  locate:查找文件,非实时的、模糊匹配,全系统文件数据库的查找命令

  

  updatedb:手动生成文件数据库,新安装的系统没有数据库的,速度快

  

  38、find

  

  find:实时查找、精确、遍历指定目录中的所有文件完成查找,速度慢、支持众多

  

  查找标准

  

  格式:find 查找路径 查找标准 查找到以后的处理运作

  

  查找路径:默认为当前目录

  

  查找标准:默认为指定路径下的所有文件

  

  处理运作:默认为显示到屏幕

  

  -------------------------------------------------------------------------------------------

  

  匹配标准

  

  -name 'FILENAME':对文件名进行精确匹配

  

  还支持文件名通配符:*:任意长度的任意字符

  

  -iname 'FILENAME':文件名匹配不区分大小写

  

  -regex PATTERN:基于正则表达式进行文件名匹配

  

  -user USERNAME:基于文件所属主进行匹配查找

  

  -group GROUPNAME:基于文件的属组进行查找

  

  -uid UID:基于文件的uid,用户被删了以后id号会保存下来

  

  -gid GID:文件组

  

  -nouser:查找没有属主的文件

  

  -nogroup:查找没有属组的文件

  

  -type :根据文件的类型来查找

  

  f:普通文件

  

  d:目录

  

  p:管道

  

  s:套接字

  

  l:链接

  

  -size:指定文件的大小

  

  [+|-]#K:大于或者小于#k的文件

  

  -------------------------------------------------------------------------------------------

  

  时间戳查找

  

  单位为天

  

  -mtime :修改时间

  

  -atime :访问时间

  

  -ctime:改变时间

  

  支持[+|-]#:

  

  5:五天那一天访问

  

  -5:五天之内

  

  +5:至少五  天之外

  

  单位为分钟

  

  -amin:访问时间

  

  -cmin:修改时间

  

  -tmin:改变时间

  

  文件的权限查找

  

  -perm mode(755):精确查找

  

  fg:find 路径 -pern 755

  

  -perm /mode : 三位匹配一位就可以

  

  -perm -mode:文件权限能完全包含此mode才可以显示

  

  执行动作:

  

  -print:默认的,显示

  

  -ls:类似ls -l的形式显示匹配到的每个文件的详细信息

  

  -ok COMMAND {} \;每个操作需要用户确认 执行命令,必须以\;结尾。

  

  {}代表匹配到的文件。

  

  -exec COMMAND {} \;不需要确认,执行命令,必须以\;结尾。{}代表

  

  匹配到的文件。

  

  =========================================================================================

  

  39、SUID

  

  suid:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者所属主

  

  添加文件的SUID:chmod u+s FILE

  

  chmod u-s FILE

  

  如果FILE本来原来就有执行权限,则SUID显示为s,否则为大S。

  

  SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属

  

  的基本组

  

  chmod g+s  FILE

  

  chmod g-s  FILE

  

  fg:一个团队,三个用户:hadoop、hbase、hive,一个开发目录

  

  /tmp/project,要求这三个用户可以同时修改同一个文件。查看、编辑、等权限

  

  三个用户同属一个基本组,并要求基本组具有查看、编辑权限。。

  

  groupadd devdeop

  

  chown -R :develop /tmp/projest

  

  usermod -a -G develop hadoop

  

  chmod g+s /tmp/project

  

  然后就可以进行创建、修改、删除同一个文件了。

  

  ===========================================================================================

  

  40、sticky

  

  sticky:规定在一个公共目录,每个人都可以创建文件、删除自己的文件,但不

  

  能删除别人的文件。

  

  chmod o+t DIR:对目录增加sticky权限

  

  chmod o-t DIR:去掉目录的sticky权限

  

  chmod 1755 /backup/test 表示文件具有sticky权限

  

  41、facl

  

  facl:利用文件扩展保持额外的访问权限

  

  setfacl:设置某文件的控制权限

  

  -m:增加facl

  

  u:设定用户的时候,后面加上u:UID:perm

  

  fg:setfact -m u:UID:rw file

  

  g:设置组

  

  -x:取消facl

  

  getfacl:查看文件的facl权限

  

  42、whoami

  

  whoami:显示当前用户是谁,su半切换的时候显示的是切换之前的那个用户

  

  43、who

  

  who:查看当前登录系统的用户以及他所登录的终端

  

  -r:显示当前运行级别

  

  -H:第一回列表显示各列名称

  

  w:显示比who更详细的信息

  

  44、last

  

  last:显示当前系统上的登录日志(/var/log/wtmp文件),包括系统用户和

  

  重启信息

  

  last -n 数字:只显示最近几次的登录信息

  

  45、lastb

  

  lastb:显示用户错误的登录常识

  

  lastb -n 数字:只显示最近几次错误的登录信息。

  

  46、lastlog

  

  lastlog:显示每个用户最近一次成功登录的信息

  

  lastlog -u USERNAME:显示指定用户最近一次的登录信息

  

  47、basename

  

  basename:显示一个目录的基名           basename /etc/abc/me 直接显示me           $0:命令名称或者脚本本身的路径。           basename $0:直接调用脚本本身路径     ==========================================================================================

  

  48、mail

  

  mail:邮件查看,可以查看邮件,查看以后就会放到用户的家目录内mbox文件夹内。

  

  -s主题

  

  mail -s "How are you " root

  

  cat /etc/fast | mail   -s "How are you "   root

  

  49、hostname

  

  hostname:显示当前主机的名称

  

  hostname 主机名:更改主机名

  

  fg:如当前主机的名字为空,或者(none)或者为(localhost),就将其

  

  改为www

  

  [ -z` hostname` -o `hostname` == "(null)" -o `hostname`

  

  == "localhost" ] && host www.

  

  -z:表示是否为空

  

  50、RANDOM

  

  RANDOM:0-32768直接的随机数

  

  echo $RANDOM:生成随机数

  

  51、ln

  

  ln:创建链接文件

  

  ln SRC DEST:创建硬链接

  

  -s:创建软连接

  

  -i:显示文件的inode号

  

  -v:显示执行结果

  

  硬件连接:

  

  1、只能对文件创建,不能应用于目录,文件的硬链接次数为2

  

  2、不能夸文件系统

  

  3、创建硬链接会增加文件被连接的次数

  

  符号连接:

  

  1、可应用于目录

  

  2、可以跨文件系统

  

  3、不会增加被连接文件的连接次数

  

  4、其大小为指定的路径所包含的字符个数

  

  ===========================================================================================

  

  52、du

  

  du:显示目录下的所有文件的大小

  

  -s:显示目录大小

  

  -sh:单位换算后显示

  

  ================================================================

  

  53、df

  

  df:显示整个磁盘分区的使用情况

  

  -h:显示空间大小

  

  ===========================================================================================

  

  54、fdisk

  

  fdisk:磁盘分区

  

  fdisk /dev/sda

  

  p:显示当前磁盘上的分区

  

  n:创建一个新的分区

  

  e:扩展分区

  

  p:主分区

  

  d:删除一个分区

  

  w:保存退出

  

  q:不保存退出

  

  t:修改分区类型

  

  l:显示所有支出的分区类型

  

  ===========================================================================================

  

  55、partprobe:

  

  更新分区表,常用于5.x的RedHat|Centos系列

  

  6.x上常使用partx指令

  

  56、mkfs

  

  mmkfs:创建文件系统

  

  mkfs -t FSTYPE 指定分区

  

  -t可以实现多种系统的格式化    如mkfs -t ext2 /dev/sda5

  

  57、mke2fs

  

  mke2fs:专门管理ext系列的文件的命令,不跟任何参数,指的是创建ext2

  

  -j:指的是创建ext3类型文件系统

  

  -b BLOCK_SIZE:指定块大小,默认为4096;可用取值为1024,2048或

  

  4096

  

  -L LABEL: 指定分区卷标;例如 mke2fs -L MYYY /etc/sda5

  

  -m #:明确指定预留给超级管理员用的快熟百分比 mke2fs -m 3

  

  /dev/sda5

  

  -i #:指定为多少个字节的空间创建一个inode , 默认为8192;这里给出的

  

  数值应该为块大小的2^n被  mke2fs -i 4096  表示4096个字节创建一个inode

  

  -F:强行创建文件系统;

  

  -E:用于指定额外的文件系统属性;

  

  -N#:指定inode个数;

  

  58、blkid

  

  blikd:查询或查看块设备的属性,其中有包含文件系统的信息

  

  59、e2lable

  

  e2lable:专门用于查看或定义卷标

  

  查看卷标  e2label /dev/sda5

  

  设定卷标  e2label 设备文件 卷标   :即实现设定卷标   e2label

  

  /dev/sad6 YYY

  

  (这里的设备文件即/dev/sda5)

  

  60、tune2fs

  

  tune2fs:调整文件系统的相关属性

  

  -j:不损坏原有数据,将ext2升级为ext3,但是不能降级

  

  -L LABLE:设定或修改卷标

  

  -m #:调整预留百分比

  

  -r #:预留块数

  

  -o:设置默认挂载选项,其中有一个是acl,acl是一个功能,但需要挂载才能

  

  使用,否则是不能用的

  

  -c #:指定挂在次数达到#次之后进行自检,指定0或-1表示关闭此功能,不自

  

  检;

  

  -i #:可以指定每挂载使用多少天后进行自检:0或-1表示关闭此功能;

  

  -l:显示超级块内容

  

  ===========================================================================================

  

  61、dumpe2fs

  

  dumpe2fs:以显示文件系统中超级块信息或文件的属性信息,

  

  同上面的tun2fs -l    选项类似,都是很重要的命令,

  

  其中也显示超级块的信息,FREE是空闲的意思

  

  -h:表示只显示超级块中的信息

  

  62、fsck

  

  fsck:检查并修复Linux文件系统

  

  -t TYPE:指定文件系统类型

  

  -a:自动修复

  

  63、e2fsck

  

  e2fsck:专门用来检查修复ext2或ext3的命令

  

  -a或-p:自动修复;

  

  -f :强行修复;

  

  64、mount

  

  mount:挂载文件系统

  

  mount 设备 挂载点

  

  设备

  

  设备文件:/dev/**

  

  卷标:LABLE=""

  

  UUID:UUID=""

  

  挂载点:挂载点就是个目录

  

  1,此目录没有被其他进程使用;

  

  2,目录的首先存在;

  

  3,目录中原有的文件将会暂时隐藏;

  

  ----------------------------------------------------------------

  

  mount相关参数

  

  -a:表示挂载/etc/fstab文件中指定的所有的文件系统

  

  -n:默认情况下,mount每挂载一个设备,都会把挂载的设备信息保存至

  

  /etc/mtab文件;使用-n选项意味着挂载设备时,不把信息写入此文件;

  

  -t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,

  

  mount会调用blkid命令获取对应文件系统的类型;

  

  -r:只读挂载,挂载光盘时常用此选项

  

  -w:读写挂载

  

  -o:指定而外的文件系统挂载选项,即指定文件系统启用的属性

  

  async:表示异步写入

  

  atime:表示更新时间戳

  

  noatime:关闭更新时间

  

  auto:表示这个磁盘设备能被使用-a选项自动挂载

  

  remount:重新挂载当前系统

  

  dev:允许其他磁盘设备

  

  ro:挂载为只读

  

  rw:读写挂载

  

  ower:允许普通用户挂载

  

  sync:同步启用

  

  loop:挂载本地回环设备

  

  ==========================================================================================

  

  65、umount

  

  umount:卸载

  

  umount 设备

  

  umount 挂载点

  

  上面两个都可以,卸载时只要指定一个就可以了

  

  66、free

  

  free:查看系统上的物理内存和交换内存的使用情况,默认字节

  

  -m:以M为单位显示

  

  buffers是缓冲 cached是缓存:的目的是重复使用,避免过慢的设备遭

  

  67、mkswap

  

  mkswap:创建交换分区

  

  swapon /dev/sd*:启用交换分区

  

  -a:表示启用/etc/fstab内的所有交换设备

  

  swapoff /edv/** :关闭交换分区

  

  ===========================================================================================


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69920922/viewspace-2724050/,如需转载,请注明出处,否则将追究法律责任。

上一篇: linux命令大全
请登录后发表评论 登录
全部评论

注册时间:2020-09-24

  • 博文量
    11
  • 访问量
    3183