Linux基础(1)-终端&shell类型&命令&文件系统&命令帮助的获取

终端

用于与主机交互,必然用到的设备。

物理终端

直接接入本机的显示器和键盘设备:Console。

虚拟终端

附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6 默认启动 6 个虚拟终端。

通过快捷键  Ctrl+Alt+F[1-6] 可以切换终端。
图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但会额外提供桌面环境。
通过命令  tty 可以查看当前所在终端的设备文件路径。

模拟终端

图形界面下打开的命令行窗口,基于 ssh 协议或 telnet 协议等远程打开的界面。

shell类型

查看当前使用的shell类型

root@ubuntu:~# echo $SHELL
/bin/bash

查看可使用的shell类型

root@ubuntu:~# cat /etc/shells 
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

命令

输入命令,回车:提请 shell 程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。

命令类型

内建命令:由 shell 自带且通过某命令形式提供。

外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件。

查看命令对应可执行程序或代码

root@ubuntu:~# which ls
/bin/ls
root@ubuntu:~# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz

查看命令类型

root@ubuntu:~# type cd
cd is a shell builtin
root@ubuntu:~# type ls
ls is aliased to `ls --color=auto'
root@ubuntu:~# type cat
cat is hashed (/bin/cat)

命令格式

COMMAND [OPTIONS...] [ARGUMENTS...]

OPTIONS(选项):用于启用或关闭命令的某个或某些功能。

短选项:-c,例:-l -h,可写作 -lh。
长选项:--word,例: --long,--huan-readable。

ARGUMENTS(参数):命令的作用对象,向命令提供数据。

注意:
1、多选项,以及多参数和命令之间都应该使用空白字符分隔。
2、取消命令执行:  Ctrl+C 。

文件系统

文件名

1、文件名严格区分大小写:file1,File1,FILE1 是不同的文件;

2、文件名可使用除“/”以外的任意字符,不建议使用特殊字符;

3、文件名长度最长不可超过255个字符;

4、所有以“.”开头的文件均为隐藏文件;

路径

绝对路径:从根目录起始的路径。

相对路径:从当前目录起始的路径。

当前目录:current directory,也称作 working directory。 可通过  pwd 命令(pwd:printing working directory)查看当前所在路径。

Linux命令帮助的获取

内建命令

help COMMAND

外部命令

1、 COMMAND --help 或 COMMAND -h 。

2、使用手册: man COMMAND 。

手册页存放地址:  /usr/share/man 。
man1...man8:
man1:用户命令。
man2:系统调用。
man3:C库调用。
man4:设备文件及特殊文件。
man5:配置文件格式。
man6:游戏。
man7:杂项。
man8:管理类命令
有些关键字在不只一个章节中存在帮助手册,查看指定章节的手册:  man # COMMAND 。

man 命令的配置文件: /etc/man.config ,可以通过指定 MANPATH /PATH/TO/SOMEWHERE :指明新的手册文件搜索位置。

不修改配置文件指定手册文件搜索位置并显示之: man -M /PATH/TO/SOMEWHERE COMMAND 。

段落说明
NAME:命令名称。
SYNOPSIS:使用概要。
DESCRIPTION:描述。
OPTIONS:选项。
EXAMPLES:示例。
AUTHOR:作者。
REPORTING BUGS:错误反馈联系人。
SEE ALSO:另见。
SYNOPSIS
[]:可选内容。
<>:必选内容。
a|b:二选一。
...:同一内容可出现多次。
操作方法
Space,^V,^F:向文件尾部翻屏。
b,^B:向文件首部翻屏。
d,^D:向文件尾部翻半屏。
u,^U:向文件首部翻半屏。
Return,^N,e,^E,j,^J:向文件尾部翻一行。
y,^Y,^P,k,^K:向文件首部翻一行。
q:退出。
#:跳转到第 # 行。
1G:回到文件首部。
G:跳至文件尾部。
/KEYWORD:以 KEYWORD 指定的字符串为关键字,从当前位置向文件尾部搜索,不区分大小写。n:下一个,N:上一个。
?KEYWORD:以 KEYWORD 指定的字符串为关键字,从当前位置向文件首部搜索,不区分大小写。n:下一个,N:上一个。

3、信息页: info COMMAND 。

4、程序自身的帮助文档: /usr/share/doc/COMMAND_VERSION 。

5、程序官方文档。

命令总结

hash

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

而 shell 搜寻到的外部命令的路径结果会缓存至 kv(key-value)存储中,可通过 hash 命令查看。

history

管理命令历史
登陆 shell 时,会读取命令历史文件中记录下的命令:  ~/.bash_history 。
登陆进 shell 后,新执行的命令只会记录在缓存中,这些命令会在用户退出时追加保存到命令历史文件中。
history
-a:手动追加本次会话新执行的命令历史列表至历史文件中。
-d #:删除历史中指定的第 # 条命令。
-c:清空命令历史。
#:查看最近 # 条历史。
快捷操作
!#:调用历史中第 # 条命令。
!string:调用历史中最近一个以 string 开头的命令。
!!:上一条命令。
!$:调用上一条命令的最后一个参数。
ESC,.:取上一条命令的最后一个参数。
相关环境变量

HISTSIZE:命令历史记录的条数。

HISTFILE:~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数。

date

格式化输出日期:

[root@bogon ~]# date +'%Y年%m月%d日 %H:%M:%S'
2019年01月03日 20:24:23

设置时间:

[root@bogon ~]# date 0815170115.21
2015年 08月 15日 星期六 17:01:21 CST
查看月历:
cal:查看当前月历。
cal 2019:查看 2019 年所有月历。
[root@bogon ~]# cal
      八月 2015     
日 一 二 三 四 五 六
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
[root@bogon ~]# cal 2019
                               2019                               

        一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
       1  2  3  4  5                   1  2                   1  2
 6  7  8  9 10 11 12    3  4  5  6  7  8  9    3  4  5  6  7  8  9
13 14 15 16 17 18 19   10 11 12 13 14 15 16   10 11 12 13 14 15 16
20 21 22 23 24 25 26   17 18 19 20 21 22 23   17 18 19 20 21 22 23
27 28 29 30 31         24 25 26 27 28         24 25 26 27 28 29 30
                                              31
        四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6             1  2  3  4                      1
 7  8  9 10 11 12 13    5  6  7  8  9 10 11    2  3  4  5  6  7  8
14 15 16 17 18 19 20   12 13 14 15 16 17 18    9 10 11 12 13 14 15
21 22 23 24 25 26 27   19 20 21 22 23 24 25   16 17 18 19 20 21 22
28 29 30               26 27 28 29 30 31      23 24 25 26 27 28 29
                                              30
        七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6                1  2  3    1  2  3  4  5  6  7
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    8  9 10 11 12 13 14
14 15 16 17 18 19 20   11 12 13 14 15 16 17   15 16 17 18 19 20 21
21 22 23 24 25 26 27   18 19 20 21 22 23 24   22 23 24 25 26 27 28
28 29 30 31            25 26 27 28 29 30 31   29 30

        十月                  十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
       1  2  3  4  5                   1  2    1  2  3  4  5  6  7
 6  7  8  9 10 11 12    3  4  5  6  7  8  9    8  9 10 11 12 13 14
13 14 15 16 17 18 19   10 11 12 13 14 15 16   15 16 17 18 19 20 21
20 21 22 23 24 25 26   17 18 19 20 21 22 23   22 23 24 25 26 27 28
27 28 29 30 31         24 25 26 27 28 29 30   29 30 31
例:
Linux的两种时钟:
系统时钟(date):由 Linux 内核通过 CPU 的工作频率进行的计时。
硬件时钟(clock/hwclock):如其名。
[root@bogon ~]# date
2015年 08月 15日 星期六 17:01:53 CST
[root@bogon ~]# clock
2019年01月03日 星期四 20时40分00秒  -0.178068
clock -s,--hctosys   // 将硬件时钟同步到系统时钟
clock -w,--systohc  // 将系统时钟同步到硬件时钟
[root@bogon ~]# date
2015年 08月 15日 星期六 17:17:37 CST
[root@bogon ~]# clock -s
[root@bogon ~]# date
2019年 01月 03日 星期四 20:55:45 CST
[root@bogon ~]# clock
2019年01月03日 星期四 20时55分54秒  -0.521538
例:

cd

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

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

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

相关环境变量:
PWD:保存了当前目录路径。
OLDPWD:保存了上一次所在目录路径。
[root@bogon ~]# echo $PWD
/root
[root@bogon ~]# echo $OLDPWD
/etc
例:

ls

显示指定路径下的文件列表。

ls -a :显示所有文件,包含隐藏文件,包括“ . ”和“ .. ”。

ls -A :显示所有文件,包含隐藏文件,不包括“ . ”和“ .. ”。

ls -l :长格式。

-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc :

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

后面九位:访问权限。

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

左root:文件的所有者(owner)。

右root:文件的所属组(group)。

176:文件大小(size)。

12月 29 2013:文件最后一次被修改的时间。

.bashrc:文件名。

文件类型
-:普通文件。
d:目录。
l:链接文件。
b:块设备。
c:字符设备。
p:管道文件。
s:套接字文件。

ls -h :单位换算。

通常和  -l 一起使用:
[root@bogon ~]# ls -lh
总用量 4.0K
-rw-------. 1 root root 1.3K 1月   3 20:09 anaconda-ks.cfg

ls -d :显示目录自身相关属性。

通常和  -l 一起使用:
[root@bogon /]# ls -ld /etc/
drwxr-xr-x. 75 root root 8192 1月   3 20:12 /etc/

ls -r :反序显示。

ls -R :递归显示文件夹及子文件夹所有文件。

stat

获取指定文件元数据,即查看文件详细状态信息。

[root@bogon ~]# stat .bashrc 
  文件:".bashrc"
  大小:176           块:8          IO 块:4096   普通文件
设备:fd00h/64768d    Inode:100974851   硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2019-01-03 20:12:57.015367023 +0800
最近更改:2013-12-29 10:26:31.000000000 +0800
最近改动:2019-01-03 20:04:59.084700947 +0800
创建时间:-

cat&tac

cat:查看文件内容。

[root@bogon /]# cat /etc/issue
\S
Kernel \r on an \m

tac:反序查看文件内容。

[root@bogon /]# tac /etc/issue

Kernel \r on an \m
\S

file

查看文件类型。

[root@bogon /]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=8ac8b57ae50762a4a0480486839107e87b3c284d, stripped
[root@bogon /]# file /etc/fstab 
/etc/fstab: ASCII text
[root@bogon /]# file /etc/
/etc/: directory

echo

回显命令,将指定内容输出到控制台。

[root@bogon ~]# echo 'how are you'
how are you
[root@bogon ~]# echo '$SHELL'
$SHELL
[root@bogon ~]# echo "$SHELL"
/bin/bash

which

显示命令对应的程序文件路径。

[root@bogon ~]# which cat
/usr/bin/cat
[root@bogon ~]# which ls
alias ls='ls --color=auto'
    /usr/bin/ls
[root@bogon ~]# which --skip-alias ls
/usr/bin/ls

whereis

显示命令对应的二进制,源码文件和手册页的存放位置。

[root@bogon ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

whatis

使用 mkwhatis 可将当前系统上所有的帮助手册及与之对应的关键字创建成一个数据库,并且此数据库中会保存该关键字的简要说明信息。

而 whatis 可以以我们制定的关键字在该数据库中查询该关键字相关信息。

[root@bogon ~]# whatis ls
ls (1)               - list directory contents
mkwhatis 会由 linux 系统在一定时间自动执行,不用我们手动执行。

 

转载于:https://www.cnblogs.com/zze46/p/10213533.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值