1、basename路径:取路径基名

  dirname路径:取路径目录名

wKioL1MQk77QpVZ3AABdvxgOyzA824.jpg

2、type命令:用来查看命令类型

bash中命令有两中类型:

  builtin内置命令:在shell程序中实现的命令即为内建命令

  外部命令:在文件系统上的某一个位置有一个与命令名称对应的可执行文件

  shell:事先通过变量(PATH)设定好了多个路径,当用户输入命令时,shell会自动到这些路径(由左至右)查看与命令名称相同的可执行文件,查找到并执行过的文件会被保存到一个hash查找表中;可以使用hash查看此表

wKiom1MQk-XSGfhQAABbxCXng3Q090.jpg

3、which命令:查看一个可执行程序的具体路径

命令格式:

command  options  arguments

命令      选项     参数

选项:调整命令的执行特性的,选项可以有多个,多个选项之间必须以空格分隔

  短选项:-char,可以合并

  长选项:--word,不可以合并

命令参数:就是命令的作用对象,有些命令可以带多个参数,各参数间需要使用,号分隔

wKiom1MQk-WTSZdRAABk2DQ2kvo001.jpg

4、获取帮助命令

内置命令:

  help 命令名,例如:help cd

外部命令:

  命令 --help

使用手册:manual

  man 命令

使用帮助中命令格式的字符意义:

  []:可选的部分

 {a|b}分组,a和b作为一个使用单元来使用

  |:或者,只能选其一

 <>:必不可少的部分

  ...:同类内容可以出现多个

man的简要使用机制:

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

  b:向文件首部翻一屏

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

  k:向文件尾部翻半屏

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

  ctrl+u:向文件首部翻半屏

  1G:首行

  G:最后一行

文本搜索:

  /kerword:向文件尾部搜索

  ?kerword:向文件首部搜索

  n:跟搜索命令相同的方向的(下一个)

  N:跟搜索命令相反的方向(上一个)

  q:退出

补充:man其实能为命令(普通命令、管理命令)、程序的配置文件格式、系统调用、库调用、游戏及其他不变归类的文件提供帮助文件。

man命令的分段机制:

1-8:

wKiom1MQm1LSKOUJAAFiikbdWfQ854.jpg

查看某关键字在哪些段落中有使用帮助,可使用两种方式:

  whatis keyword:精确查找,如果whatis数据库尚未生成,可以使用makewhatis手动生成

  man -k keyword:模糊查找

wKioL1MRIyvgma6FAAFUPEGdNdo410.jpg

  info命令:获取在线文档:大部分应用程序都自带有文档,在/usr/share/doc下。

5、系统管理类命令:

  shutdown -r :重启

  shutdown -h:关机

  shutdown -c:取消重启或者关机命令

  shutdown命令的时间格式:

  now :立即

  + #:#分钟之后

  HH:MM:几时几分

  reboot:重启电脑

6、日期时间管理类命令:

  date:显示系统时间

  hwclock:显示硬件时钟时间

  Linux有两个时钟,硬件时钟和软件时钟,软件时钟开启时读取硬件时钟

  hwclock -s :以硬件时钟为准,--hctosys

  hwclock -w:以系统时钟为准,--systohc

wKiom1MRJwnjsPGXAADfkOWCaLk191.jpg

date使用格式:

  #date MMDDhhmm[CC]YY.ss

  #date [+format]

  %Y:四位年份

  %y:两位年份

  %m:月

  %M:分

  %d:日

  %H:时

  %S: 秒

  %D: 日期

  %F:日期

  %T:时间

  %s:unix元年,从1970-01-01 00:00:00到现在的时间

wKioL1MRKGugJgSsAABpxbEMxKs326.jpg

7、目录切换、文件的添加、删除

可以通过cd命令在目录间进行切换:

  / :根分区,根文件系统,rootfs

  . :当前所在目录,工作目录

  .. :返回到上一级目录,到/目录下之后无法继续返回,/是根目录

  -  :返回至上一次所在目录

  ~  :用户家目录

pwd命令:显示用户当前所在目录即工作目录

mkdir:创建目录

  -p :先创建父目录

  -v :显示详细信息

rmdir: 删除空目录,如要删除非空目录可以使用,rm命令:

  rm -r :递归删除

  rm -f :强制删除

history:查看命令历史记录:

  -c:清空列表

  -d #:删除指定的历史命令

  -a :追加当前会话的历史命令至历史文件中去;

命令历史相关的环境变量:

  HISTSIZE:命令历史中可以保存的命令个数

  HISTFILE:命令历史文件

  HISTFILESIZE:命令历史文件中可以保存的命令的个数

  HISTCONTROL:控制命令历史的生成:

    ignoreedups:忽略记录重复的命令;连续的的相同命令才为重复

    ignorespace:不记录以空白字符开头的命令,

    ignoreboth :同时具有ignoreedups、ignorespace的特性;

8、文件类型:

Linux文件类型:

  普通文件: - ,f

  目录文件: d

  链接文件(一般指符号连接文件):l

  设备文件:

    字符设备:c

    块设备:b

    命令管道:p

   套接字文件:s

9、Linux文件时间戳:

 访问时间:atime

 修改时间:mtime

 改变时间:ctime

touch

  access time,atime

  modify time,mtime

  change time,ctime

  -c:不创建空文件

  -a:仅修改访问时间

  -m:仅修改修改时间

  ctime无法人为操控  ctime就是当前系统时间

  -t: STAMP: [CC]YYMMDDhhmm.SS

10、ls命令使用方法:

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

       -l:长格式

       -d :显示目录自身的信息,通常与-l同时使用

       -r: 逆序显示

       -R:递归显示

       -h:易读的格式

       -i:inode号,index node

-         rwxr-xr-x    1       root   root  Feb 22  2013    rvi->       vi

      文件类型    文件权限  硬连接数  宿主   宿组   最近修改时间   链接文件   原文件

alias:命令别名

alias 别名=’原始命令'

unalias:取消命令别名

11、文件管理相关命令

文本文件查看:

file File :查看文件内容的格式

cat:

  -E:显示行结束符

  -e:显示非打印字符,相当于-vE

  -n:显示时给行按顺序编号

  -s:多个连续的空白行显示为一个空白航

tac:按行逆序显示

分屏显示命令:

  more:向后翻屏,不能向前

  less:可以使用前后翻屏

head:从头部读取文件

 -n #:可以指定读取文件的前几行,在获取某一行时可以和tail联合使用

 -#  :同上

tail:从尾部读取文件

   -n #:读取文件的从尾部开始的几行

   -f:显示一个文件后不退出,等着其他文件写入并显示出来,可以用来监控日志

echo命令的用法:

  -e:

    \033[##m

        第一个#:3表示前景色,4表示背景色

        第二个#:颜色,1-7

     \033[0m:控制符结束

  -n:不为显示内容自动换行

wKiom1MRMe7CumqVAABJqhOdDVo736.jpg

文件操作:

touch:创建空文件,可以用来改变atime、mtime、ctime

cp:COPY

 CP SRC DEST

 假如src是一个文件:

 如果目标是一个文件且目标存在:覆盖

 如果目标文件不存在:创建新文件

 如果目标存在,且是个目录:复制源至目标目录

cp SRC...DEST

 假如SRC有多个文件

 如果目标存在,且是一个文件:复制无法进行

 如果目标存在,且是一个目录:复制各文件至目标目录中,并保持原名

 如果目标不存在:复制无法进行

 如果SRC只有一个且是目录: -r  递归复制

 如果目标是一个文件且存在:失败

 如果目标文件不存在:创建新目录

 如果目标存在,且是个目录:复制源目录至目标目录中,且保持原名

cp命令的常用选项:

  -r:递归

  -i:交互  提醒用户的

  -d:复制链接文件本身而非指向的源文件

  -a:相当于-dr

  -p:保留原有属性

  -f:强制

mv:移动,和microsoft的剪切意思一样 移动文件用法和cp相近

  可以直接移动目录,而无须-r选项

  mv /tmp/passwd /tmp/abc  改名

  mv /tmp/passwd /var/tmp/abc  移动

rm:移除文件

  删除非空目录:# rm -rf File

权限:read,write,execute

文件的三种权限:r,w,x

  r:可以使用内容查看类的命令来显示其相关内容。

  w:可以使用编辑器修改器内容。

  x:可以将其发起一个进程。

目录:

  r:可以使用ls命令查看目录内容的文件信息:

  w:可以创建,删除文件

  x:可以使用ls-l命令查看目录内容的文件的信息,并且可以使用cd命令切换此目录为工作目录

用户不拥有某个权限,则使用-占位:

  r-x:可读可执行

  r--:只读权限

  rw-:可读可写不可执行

创建用户:

  useradd UserName

  /etc/passwd:

  用户名:x(密码占位符):UID:基本组ID GID:备注信息comment:家目录:默认shell

  /etc/shells  当前系统上安全的shell列表

useradd:adduser

  -u:UID:指定UID

  -g gid:指定GID,即指定用户的基本组,但GID要事先存在

  -G GID:指定用户的额外组,组要事先存在;

  -d:/path/to/somewhere:

  -c: "comment"

  -s:/path/to/shell:指定默认的shell,应该指定使用/etc/shells文件中出现的shell

  -m:创建用户时,强制给用户创建家目录。

  -M:创建用户时,但不创建家目录。

  -D:dafault,为useradd命令创建的用户指定新的默认值

  -r:创建系统用户

id:1-499为系统用户, 不会为用户创建家目录,默认shell为/sbin/nologin    

groupadd GrpNAME

  -g GID:创建组并且其指定GID

用户类别:

  管理员:0

  普通用户:1-65535

  系统用户:1-499

  登陆用户:500+

用户组:

  管理员组

  普通组

userdel:删除用户,默认保留家目录

格式:userdel UserName

  -r:一并删除家目录,

passwd:用来设定用户密码
管理员设定密码直接输入passwd即可,而普通用户需要输入passwd 用户名

如何修改用户默认shell命令:

  修改用户默认shell:chsh

  修改用户注释:chfn

usermod:修改用户的属性信息

  -u: UID:设定用户uid

  -g: GID:设定用户gid

  -G: GID:默认会覆盖原有的附加组;如果是添加,则同时使用-a选项

  -c: String:修改注释

  -d:/path/to/new_home: 默认不会迁移用户的家目录;如果要迁移,则同时使用-m

  -s :SHELL:更改用户默认shell

   -l: New_login_name:

   -L:锁定用户账号

   -U:解锁

如何修改组属性定义:

groupmod:

  -g GID:修改组gid

  -n New_GrroupName:修改组名

查看用户的相关信息id:

用法:id UserName

  -u:显示UID,跟-n一起使用则显示用户名

  -g:显示基本组ID,跟-n一起使用则显示基本组名

  -G:显示所有组ID,跟-n一起使用则显示所有组名

su:Switch user

切换用户:

用法:su Username

  -l:登录的方式切换到某一用户

  -c:‘command’:以另外一个用户的身份执行某一命令

newgrp:切换到别的组

chmod命令:

操作三类用户的权限:使用8进制形式

  chmod OCTAL-MODE file..

  755:rwxr-xr-x

  644:rw-r--r--

  700:rwx------

操作指定类型类别用户的权限:使用u,g,o来赋权,基于=或+/-来进行

  u:属主

  g:属组

  o:其他

  a:所有

  =:操作指定类别用户的权限:u=,ug=, u=,g=,

+/-:操作指定类别用户的单个权限

-reference=要参照的文件  要修改的文件

参照其他文件的权限为当前文件赋权

umask:

创建文件:666-umask

文件默认绝不允许出现执行权限:

  umask 023

  666-023=644

创建目录:777-umask

  root:022

  如果用户名和基本组组名一致:002;否则为022;

  修改文件的属主或属组:chown,chgrp

  -R:递归

  --reference=

修改用户的属主、属组

chown[option] UserName [:|.Groupname] file

权限应用模型:

  进程的属主,是否与文件的属组相同;如果相同,进程则以文件属主的权限来访问文件,否则进程的属主所属的组,是否其中之一与文件的属相同;如果相同,进程则以文件属组的权限来访问文件;否则,进程则以文件的其他用户的权限来访问文件;

12、文本处理类的命令:wc,word count

wc [option] [file]...

  -l:统计行数

  -c:统计字节数

  -w:统计单词数

tr:转换字符或删除字符

  tr '集合1' '集合2':和集合1一样的改为集合2对应的内容

  tr -d '字符集合' :删除字符集合中的任何字符

cut:

  -d字符:指定分隔符

  -f#:指定要显示的字段

  单个数字:一个字段

  逗号分隔的多个数字:指定多个离散字段

  -:连续字段,如3-5;

  显示所有用户的用户名:cut -d: -f1 /etc/passwd

  显示所有用户的用户名和默认的shell:

  cut -d: -f1,7 /etc/passwd

sort:

sort[option] file ...默认按照字符串比较顺序的

  -f:忽略字符大小写;

  -n:按照数字大小排序

  -t:指定分隔符

  -k:用来指定分隔后进行比较的字段

  -u:重复的行,只显示一次;

uniq:移除重复的行,重复的行是连续的重复的行

  -c: 显示每行重复的次数

  -d:仅显示重复过的行

  -u:仅显示不曾重复的行

以上是一些常用基本命令的总结,由于时间仓促,总结的不好的地方还请见谅。

                -