基础命令

目录

一、Linux命令帮助的获取

1.问题:如何获取帮助

2.hash

3.history

4.man

man命令的操作方法:

练习:借助man命令学习date命令

5. info

6.程序自身的帮助文档

二、时间和日期相关命令

1.date

2.cal:日历​

三、目录相关的命令

1.cd

2.pwd:显示当前目录

3.ls:list

4.sata:获取指定文件的元数据(属性)

四、文件查看类命令

1.cat, tac

2.file

五、显示相关的命令

1. echo:回显命令

2.which:显示命令对应的程序文件路径

4.whatis:搜索关键字对应相关的文件信息

六、系统管理类命令

1. sync:数据同步写入磁盘

2.关机

3.重启

4.查看系统的使用状态

5. tty:查看当前的终端设备

七、重要的热键

1.[Tab]

2.[Ctrl]+c

3.[Ctrl]+d

回顾

参考资料

 

支持语言

1.显示目前所支持的语言

echo $LANG

2.修改语言为英文语系

LANG=en_US

一、Linux命令帮助的获取

外部命令:都有一个可执行程序,位于文件系统某目录下

                  which, whereis

                  shell程序搜寻可执行程序文件的路径定义在PATH环境变量中

                  # echo $PATH

                  注意:自左至右

格式:COMMAND [OPTIONS...] [ARGUMENTS...]

            命令:which     用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件

           

      which查找的是外部命令

            命令:whereis        定位指令的二进制程序、源代码文件和man手册页等相关文件的路径

            whereis 可以查找内部命令

1.问题:如何获取帮助

      ①(用命令:type查看某一命令是内部命令还是外部命令)

      ②内部命令用help,外部命令用man,info或用选项-h, --help查看帮助文档

      内部命令: # help COMMAND

[root@localhost man1]# type cd

cd is a shell builtin

[root@localhost man1]# help cd

cd:cd [-L|[-P [-e]]] [dir]

Change the shell working directory.

e.g. # help hash

      外部命令:

            (1) # COMMAND --help

                  # COMMAND -h

            (2) 使用手册(manual)

                  # man COMMAND

                  man:manual操作说明

            (3) 信息页

                  # info COMMAND

            (4) 程序自身的帮助文档

                  README

                  INSTALL

                  ChangeLog

            (5) 程序官方文档

                  官方站点:Documentation

            (6) 发行版的官方文档

                  e.g. http://www.redhat.com/docs

            (7) Google

(8) slideshare

                  http://www.slideshare.net/

2.hash

hash是bash内建命令,用于记录或显示(外部的)应用程序位置

P.S. shell搜寻到的外部命令的(第一次找到的)路径结果会缓存至kv(key-value)存储中

用法:hash:hash [-lr] [-p 路径名] [-dt] [名称 ...]

    作用:记住或显示程序位置。

    确定并记住每一个给定 NAME 名称的命令的完整路径。如果

    不提供参数,则显示已经记住的命令的信息

    常用选项

      -d                忘记每一个已经记住的命令的位置

      -l                  显示当前hash列表中的命令及完整路径等信息

      -p pathname name  使用 pathname 路径作为 NAME 命令的全路径

      -r                 忘记所有记住的位置

3.history

相关的环境变量: HISTSIZE, HISTFILE, HISTFILESIZE

命令历史文件:.bash_history

      用法:管理命令历史

登录shell,会读取命令历史文件.bash_history中记录下的命令           登录shell,新执行的命令只会记录在缓存中;这些命令会在用户退出时追加至命令历史文件.bash_history中

命令:cat  ~/.bash_history

常用选项:

            -a追加本次会话新执行的命令历史列表至历史文件.bash_history中;

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

            -c清空命令历史

快捷操作:

                       !#:调用历史中第#条命令;

                       !string调用历史中最近一个以string开头的命令;

                       !!:上一条命令

e.g.

209  whatis

  210  history

  211  history -d 210

  212  history

[root@localhost ~]# !w

whatis

4.man

问题:帮助手册页存放在哪个特定位置下:

/usr/share/man

[root@localhost man1]# ls /usr/share/man

cs  id     man1p  man3x  man6x  man9x                                       sk

da  it     man1x  man4   man7   mann                                        sv

de  ja     man2   man4x  man7x 

es  ko     man2x  man5   man8  

fr  man0p  man3   man5x  man8x 

hu  man1   man3p  man6   man9  

man后不同数字代表不同查询条目的类别

man1 ... man8

            man1:用户命令、用户可执行文件

            man2:系统调用

            man3:C库调用

            man4:设备文件及特殊文件

            man5:配置文件格式

            man6:游戏

            man7:杂项

            man8:管理类的命令,e.g.磁盘分区格式化

            注意:有些命令在不止一个章节中存在帮助手册

                  命令:whatis COMMAND

                  要查看指定章节中的手册:man # COMMAND

问题:有些帮助手册不一定在/usr/share/man路径下,man命令为什么知道要去哪里找帮助手册呢?

man命令的配置文件:/etc/man.config

      MANPATH /PATH/TO/SOMEWHERE:指明新的手册文件搜索位置

问题:当帮助手册不在/usr/share/man路径下又不想修改配置文件,怎么查看帮助?man -M

# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示之

      帮助手册中的段落说明:

                  NAME:命令全称和简单用途

                  SYNOPSIS:基本语法

                       []:可选内容

                       <>:必选内容

                       a|b:二选一

                       ...:同一内容可出现多次

                  DESCRIPTION:参数和选项的用法

                  OPTIONS:专用选项

                  CAMMANDS:内建命令的说明

                  EXAMPLES:使用实例

                  AUTHOR:命令的作者

                  REPORTING BUGS:问题反馈渠道

                  SEE ALSO:还可以从哪里查到与命令相关的说明文件

man命令的操作方法:

            跳转或翻屏机制( 同less )

                  Space f, ^F, ^V,:向文件尾翻屏;

                  b, ^B,[ESC]+v:向文件首部翻屏;

                  d, ^D向文件尾部翻半屏;

                  u, ^U向文件首部翻半屏;

                  RETURN, ^N, e, ^E or j or ^J:向文件翻一行

                  y or ^Y or ^P or k or ^K:向文件翻一行

                  q:退出;

                  #:跳转至第#行;

                  1G或1g 或g:回到文件首部

                  G:翻至文件尾部

 

            文本搜索:

                  /KEYWORD以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;

                             n:下一个

                             N:上一个

                  ?KEYWORD以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;

                             n:跟搜索命令同方向,下一个

                             N:跟搜索命令反方向,上一个

 

练习:借助man命令学习date命令

                       显示今天为周几?date -A

                       设定当前系统时间?date

                       显示今天的日期,形如:08/15/15?date +%m%d%Y

                       显示当前的时间,形如: 16:01:21?date +%H:%M:%S

5. info

                  info COMMAND

6.程序自身的帮助文档

      /usr/share/doc/COMMAND-VERSION

[root@localhost doc]# cd /usr/share/doc/

二、时间和日期相关命令

1.date

      显示或设置系统日期和时间

            date [OPTION]... [+FORMAT]:显示

                  FORMAT:格式符号 %

                       %A 星期

                       %D 日期

                       %F   用-分隔的日期表示

                       %T   时间

                       %H-%M  自行指定格式

             date [MMDDhhmm[[CC]YY][.ss]]:设置

                   MM:月分

                   DD:几号

                   hh:小时

                   mm:分钟

                   YY:两位年份

                   CCYY:四位年份

                   .ss:秒钟

          Linux的两种时钟:

               系统时钟:由Linux内核通过CPU的工作频率进行的计时;

               硬件时钟:

 

               clock:显示硬件时钟

hwclock:显示硬件时钟或同步

                     -s, --hctosys(硬件时钟同步到系统时钟)

                     -w, --systohc

2.cal:日历

三、目录相关的命令

1.cd

            当前目录或工作目录

            主目录,家目录:HOME

                  root:/root

                  普通用户:/home/USERNAME

                       /home/tom

                  ~符号~表示用户的主目录

cd 或 cd ~:回当前用户的主目录

      cd ~USERNAME切换至指定用户的主目录

      e.g. cd  ~user1 切换到user1的家目录(useradd user1)

      cd -:在上一个目录和当前目录之间来回切换  (十大linux技巧之一)

                  . 当前目录

                  .. 当前目录的父目录

2.pwd:显示当前目录

      相关的环境变量:

                       PWD:保存了当前目录路径;

                       OLDPWD:上一次所在目录路径;

      pwd <=> echo $PWD

      cd - <=>cd $ OLDPWD

3.ls:list

      显示指定路径下的文件列表(不是显示文件内容)

      ls [OPTION]... [DIR]...

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

            -A:不包括 . 和 ..

            -l长格式

            e.g. -rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log

                       -rw-r--r--:

                        最左侧的第一位:文件类型

            -,               d,              l,                b,         c,               p,         s

            普通文件    目录文件    链接文件    块设备  字符设备    管道     套接字

                             后面的9位:访问权限,perm

                       数字:文件被硬链接的次数

                       左root:文件的属主

                       右root:文件的属组

                       44800:文件的size

                       Aug 14 14:32 :文件的最近一次被修改的时间

                       P.S. 修改:内容改变,属性一定改变    改变:属性改变

                       install.log: 文件名

            -h, --human-readable单位换算

            -d:显示目录自身的相关属性;通常要与-l一起使用

            例如只看/home属性,而不显示其相关列表

            -r, --reverse逆序显示

            -R, --recursive:递归:子目录的内容也显示出来

4.sata获取指定文件的元数据(属性)

      stat  /PATH/TO/SOMEFILE)

四、文件查看类命令

1.cat, tac

      cat [OPTION]... [FILE]...   连接文件倾倒显示屏幕上

e.g. 把/etc/fstab与/etc/issue连接起来并显示

      计算机靠控制字符(非打印字符)换行、制表、空白符...          

-E:显示行结束符$

            -v显示全部控制符

            -T显示制表符

            -A:相当于-vET

            -n显示出的每一行进行编号,仅用于显示

cat 不加参数:显示输入的信息,若遇到控制字符需要按[Ctrl]才能实现控制

tac:逆序文件显示

2.file

            file /PATH/TO/SOMEWHERE 查看文件内容类型

fstab和cat虽然都是普通文件,但内容类型却不相同

五、显示相关的命令

1. echo:回显命令

是shell的内建命令

            -n禁止自动添加换行符号

            -e允许使用转义符

                  \n换行

                  \t制表符

echo "$VAR_NAME"双引号变量会替换,表弱引用

            echo '$VAR_NAME':变量不会替换,强引用

                  引用变量名:替换成变量名VAR_NAME所指向内存空间中的数据

2.which:显示命令对应的程序文件路径

      which [OPTION] COMMAND

            --skip-alias禁止显示别名

3.whereis:显示命令对应的二进制程序、源文件、帮助手册页的路径

            whereis(locate the binary, source, and manual page files for a command) 比which更为详细

       -b        仅搜索显示二进制文件

       -m    仅搜索显示帮助手册页

       -s     仅搜索显示源文件

4.whatis:搜索关键字对应相关的文件信息

      使用whatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库

      命令:read       从键盘读取变量的值

-p:指定读取值时的提示符;

-t:指定读取值时等待的时间(秒)

六、系统管理类命令

1. sync:数据同步写入磁盘

      sync

      P.S.shutdown/reboot/halt关机前进行了sync这个工具的调用

2.关机

halt, poweroff, shutdown -h, init 0

      shutdown [选项] 时间参数 [提示信息]

      shutdown -h now 立即关机

      shutdown -h 20:25 20;25关机

      shutdown -h +10 十分钟后关机

      -r 重启

      -c 取消正在进行的shutdown 内容

      -t second  second秒后关机

      -k now ‘...’  仅发出警告参数

3.重启

      命令:reboot, shutdown -r, init 6

4.查看系统的使用状态

跟用户登录相关,当前有谁在线      命令:who, whoami, w

网络的联机状态      命令:netstat -a

后台执行的程序      命令:ps -aux

5. tty:查看当前的终端设备

七、重要的热键

1.[Tab]

      按1次:命令补全,文件补全

      按2次:查找命令

2.[Ctrl]+c

      停止当前运行的命令

3.[Ctrl]+d

      相当于exit

      离开文字界面

回顾

历史记录 history,

记录/显示命令位置 hash

文件内容类型查看命令 file

帮助命令 man, info

日期时间命令 date, cal

文件查看命令cat, cat, file

目录相关命令 cd, pwd, ls

显示相关的命令 echo, which, whereis

系统管理类命令 sync, halt, poweroff, shutdown, reboot, tty, who, whoami, w, ps

参考资料:

马哥随堂笔记

注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值