linux基础(1)-终端&shell类型&命令&文件系统&命令帮助的获取
终端
用于与主机交互,必然用到的设备。
物理终端
直接接入本机的显示器和键盘设备:Console。
虚拟终端
附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6 默认启动 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 .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(选项):用于启用或关闭命令的某个或某些功能。
长选项:--word,例: --long,--huan-readable。
ARGUMENTS(参数):命令的作用对象,向命令提供数据。
- 注意:
- 1、多选项,以及多参数和命令之间都应该使用空白字符分隔。
- 2、取消命令执行: Ctrl+C 。
文件系统
文件名
1、文件名严格区分大小写:file1,File1,FILE1 是不同的文件;
2、文件名可使用除“/”以外的任意字符,不建议使用特殊字符;
3、文件名长度最长不可超过255个字符;
4、所有以“.”开头的文件均为隐藏文件;
路径
绝对路径:从根目录起始的路径。
相对路径:从当前目录起始的路径。
可通过 pwd 命令(pwd:printing working directory)查看当前所在路径。
Linux命令帮助的获取
内建命令
help COMMAND
外部命令
1、 COMMAND --help 或 COMMAND -h 。
2、使用手册: man COMMAND 。
- 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 :长格式。
最左侧第一位:文件类型。
后面九位:访问权限。
数字:文件被硬链接的次数。
左root:文件的所有者(owner)。
右root:文件的所属组(group)。
176:文件大小(size)。
12月 29 2013:文件最后一次被修改的时间。
.bashrc:文件名。
- 文件类型
- -:普通文件。
- d:目录。
- l:链接文件。
- b:块设备。
- c:字符设备。
- p:管道文件。
- s:套接字文件。
ls -h :单位换算。
[root@bogon ~]# ls -lh 总用量 .0K -rw-------. root root .3K 1月 : anaconda-ks.cfg
ls -d :显示目录自身相关属性。
[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
linux基础(1)-终端&shell类型&命令&文件系统&命令帮助的获取的更多相关文章
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- 【Linux基础总结】Shell 基础编程
Shell 基础编程 重启虚拟机遇到磁盘损坏如何解决 Shell编程中变量的声明.引用及作用域 Shell程序 概述 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就 ...
- Linux基础知识第四讲,文件内容命令
目录 一丶常用命令 1.cat命令演示以及常用选项 2.grep 搜索命令的使用 3.echo 以及 重定向的使用 4.管道概念 一丶常用命令 序号 命令 对应英文 作用 01 cat 文件名 con ...
- Linux基础——硬盘分区、格式化及文件系统的管理
1. 硬件设备与文件名的对应关系 掌握在Linux系统中,每个设备都被当初一个文件来对待. 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI硬盘 /dev/sd[a-p ...
- Linux基础之bash shell介绍及基本特性
今天继续讲Linux基础知识,内容是关于bash shell的.分享以下bash shell的相关知识,例如基本特性等. 1.8)bash shell的介绍 1.8.1)什么是bash shell ...
- Linux基础:初识shell之系统命令基础
一 shell介绍 shell Shell 中文意思贝壳,寓意类似内核的壳.Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,简而言之就是只要能够操作应用 ...
- linux 基础-变量,shell基本语法
变量 定义变量 your_name="runoob.com" #变量名和等号之间不能有空格 使用变量 your_name="qinjx" echo $your_ ...
- 【linux】centos7终端中文显示乱码,命令返回中文乱码
centos7终端中文显示乱码,命令返回中文乱码 1.查看服务器编码的命令 1.1 echo $LANG 1.2 locale 1.3 查看终端xshell编码 如果以上的三点依旧保持一致,而依旧乱码 ...
- Linux基础之终端、控制台、tty、pty简介说明
最近在搞Linux提权的时候,有时候su 用户名 登录的时候发现登录不了,因为tty终端,交互不了,所以我也来总结一下 一. 基本概念 1. ttytty(终端设备的统称):tty一词源于telety ...
随机推荐
- codeforces水题100道 第五题 Codeforces Round #304 (Div. 2) A. Soldier and Bananas (math)
题目链接:http://www.codeforces.com/problemset/problem/546/A题意:一个人现在有n元,它买第i根香蕉需要i*k元,问他要买w根香蕉的话,需要问他的朋友借 ...
- Linux终端多用户通信实用命令
一 命令 1.1 write 该命令将当前终端(源)输入的字符拷贝至目标用户的终端,从而发送消息给系统中某个用户.用法如下: #write <user> <msg> [Ctr ...
- 【总结】redis和memcached的区别
1.Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memcache还可用于缓存其他东西,例如图片.视频等等: 2.Redis不仅仅支持简单的k/v类型的数据,同时还提供lis ...
- 【Python3】 PyV8的安装与使用
centos7 python3.6.4 1 安装boost : PyV8 依赖于Boost yum install boost yum install boost-devel yum insta ...
- 【线程】Thread中的join介绍
因为sleep.wait.join等阻塞,可以使用interrupted exception异常唤醒. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行 ...
- 一劳永逸的搞定 FLEX 布局(转)
一劳永逸的搞定 flex 布局 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平.垂直同时居中.记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮, ...
- ASP.NET Session 简单超实用使用总结
一.概述 Session用于存储特定的用户会话所需的信息 . Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议. Session中文是“会话”的意思,在ASP.NE ...
- Android短信发送器_08
1.string xml代码 <?xml version="1.0" encoding="utf-8"?> <resources> &l ...
- 关于Jmeter3.0,你必须要知道的5点变化
2016.5.18日,Apache 发布了jmeter 3.0版本,本人第一时间上去查看并下载使用了,然后群里或同事都会问有什么样变化呢?正好在网上看到一遍关于3.0的文章,但是是英文的.这里翻译一下 ...
- JAVA unicode转换成中文
/** * * unicode 转换成 中文 * @param theString * @return */ public static String decodeUnicode(String the ...