终端

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

物理终端

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

虚拟终端

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

通过快捷键 Ctrl+Alt+F[-] 可以切换终端。
图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但会额外提供桌面环境。
通过命令 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
.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日 ::

设置时间:

[root@bogon ~]# date 0815170115.21
2015年 08月 15日 星期六 :: CST
查看月历:
cal:查看当前月历。
cal 2019:查看 2019 年所有月历。

[root@bogon ~]# cal
      八月
日 一 二 三 四 五 六

[root@bogon ~]# cal 

        一月                   二月                   三月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六

        四月                   五月                   六月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六

        七月                   八月                   九月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六

        十月                  十一月                 十二月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六

例:

Linux的两种时钟:
系统时钟(date):由 Linux 内核通过 CPU 的工作频率进行的计时。
硬件时钟(clock/hwclock):如其名。

[root@bogon ~]# date
2015年 08月 15日 星期六 :: CST
[root@bogon ~]# clock
2019年01月03日 星期四 20时40分00秒  -0.178068 秒
clock -s,--hctosys   // 将硬件时钟同步到系统时钟
clock -w,--systohc  // 将系统时钟同步到硬件时钟
[root@bogon ~]# date
2015年 08月 15日 星期六 :: CST
[root@bogon ~]# clock -s
[root@bogon ~]# date
2019年 01月 03日 星期四 :: 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--. root root 12月 .bashrc :

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

后面九位:访问权限。

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

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

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

176:文件大小(size)。

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

.bashrc:文件名。

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

ls -h :单位换算。

通常和 -l 一起使用:

[root@bogon ~]# ls -lh
总用量 .0K
-rw-------.  root root .3K 1月    : anaconda-ks.cfg

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

通常和 -l 一起使用:

[root@bogon /]# ls -ld /etc/
drwxr-xr-x.  root root  1月    : /etc/

ls -r :反序显示。

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

stat

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

[root@bogon ~]# stat .bashrc
  文件:".bashrc"
  大小:           块:          IO 块:   普通文件
设备:fd00h/64768d    Inode:   硬链接:
权限:(/-rw-r--r--)  Uid:(    /    root)   Gid:(    /    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:-- ::
最近更改:-- ::
最近改动:-- ::
创建时间:-

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/-bit LSB executable, x86-, version  (SYSV), dynamically linked (uses shared libs), , 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
.gz

whatis

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

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

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

linux基础(1)-终端&shell类型&命令&文件系统&命令帮助的获取的更多相关文章

  1. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  2. 【Linux基础总结】Shell 基础编程

    Shell 基础编程 重启虚拟机遇到磁盘损坏如何解决 Shell编程中变量的声明.引用及作用域 Shell程序 概述 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就 ...

  3. Linux基础知识第四讲,文件内容命令

    目录 一丶常用命令 1.cat命令演示以及常用选项 2.grep 搜索命令的使用 3.echo 以及 重定向的使用 4.管道概念 一丶常用命令 序号 命令 对应英文 作用 01 cat 文件名 con ...

  4. Linux基础——硬盘分区、格式化及文件系统的管理

    1. 硬件设备与文件名的对应关系 掌握在Linux系统中,每个设备都被当初一个文件来对待. 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI硬盘 /dev/sd[a-p ...

  5. Linux基础之bash shell介绍及基本特性

    今天继续讲Linux基础知识,内容是关于bash shell的.分享以下bash shell的相关知识,例如基本特性等.  1.8)bash shell的介绍 1.8.1)什么是bash shell ...

  6. Linux基础:初识shell之系统命令基础

    一 shell介绍 shell Shell 中文意思贝壳,寓意类似内核的壳.Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,简而言之就是只要能够操作应用 ...

  7. linux 基础-变量,shell基本语法

    变量 定义变量 your_name="runoob.com" #变量名和等号之间不能有空格 使用变量 your_name="qinjx" echo $your_ ...

  8. 【linux】centos7终端中文显示乱码,命令返回中文乱码

    centos7终端中文显示乱码,命令返回中文乱码 1.查看服务器编码的命令 1.1 echo $LANG 1.2 locale 1.3 查看终端xshell编码 如果以上的三点依旧保持一致,而依旧乱码 ...

  9. Linux基础之终端、控制台、tty、pty简介说明

    最近在搞Linux提权的时候,有时候su 用户名 登录的时候发现登录不了,因为tty终端,交互不了,所以我也来总结一下 一. 基本概念 1. ttytty(终端设备的统称):tty一词源于telety ...

随机推荐

  1. 在linux下如何判断是否已经安装某个软件?

    如果你使用rpm -ivh matlab装的,用rpm -qa | grep matlab肯定是能够找到的. 如果你是用make && make install装的.那么最好直接去找执 ...

  2. 【存储过程】用SQL语句获得一个存储过程返回的表

    定义一个存储过程如下: create proc [dbo].[test1] @id int as select 1 as id,'abc' as name union all select @id a ...

  3. 【laravel5.6】laravel 自定义公共函数

    1.在 app/Helpers/ 新建一个文件 functions.php,当然这个文件位置和名称你可以自己定义,创建一些函数用于全局调用: 2.在composer.json中的autoload下增加 ...

  4. mysql optimize整理表碎片

    当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删 除操作后在数据文件中留下碎片所致.optimize table 可以去除删除操作后留下的数据文件碎片,减小文件尺寸,加快未 ...

  5. cocos2d-x学习之旅(五):1.5 使用eclipse编译cocos2d-x示例项目,创建cocos2d-x android项目并部署到真机

    今天将cocos2d-x的示例项目tests编译到android真机运行,以及如何创建cocos2d-x的android项目. 打开cocos2d-x的tests项目,路径为:D:\cocos2d-x ...

  6. 解决远程登陆Linux误按ctrl+s锁屏

      很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常会习惯性的按下Ctrl+s来保存文件内容.殊不知这样按下去后面会造成整个终端不响应了,ssh连接还好说,直接关 ...

  7. Android加载asset的db

    extends:http://blog.csdn.net/lihenair/article/details/21232887 项目需要将预先处理的db文件加载到数据库中,然后读取其中的信息并显示 加载 ...

  8. PKCS 发布的15 个标准与X509

    PKCS 发布的15 个标准,转自:http://falchion.iteye.com/blog/1472453 PKCS 全称是 Public-Key Cryptography Standards ...

  9. 每日定时收集MySQL日志并发送邮件

    本次脚本系统版本 MySQL日常运行产生的慢查询日志收集并且发送邮件 vim mysql-slow-log.sh # 这是一个收集慢查询的脚本,每天收集MySQL慢查询日志并且发送邮件#!/bin/b ...

  10. ZOJ 3781 - Paint the Grid Reloaded - [DFS连通块缩点建图+BFS求深度][第11届浙江省赛F题]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3781 Time Limit: 2 Seconds      Me ...