资讯详情

linux学习笔记4.0

ilinux学习笔记

  • **小,单用程序 **
  • **链接程序,共同完成复杂的任务 **
  • **避免用户界面混乱 **

第一周 linux基础入门

ps aux

[19:30:06 root@RC ~]#tty /dev/pts/0 

  • who am i
[19:41:59 root@RC ~]#who am i root     pts/0        2020-07-27 18:14 (10.0.0.1) 

[19:39:00 root@RC ~]#who root     pts/0        2020-07-27 18:14 (10.0.0.1) rc       tty2         2020-07-27 19:39 (tty2) 
  • #查看所有终端设备并显示用户操作
[19:46:08 root@RC ~]#w  19:48:59 up  1:35,  3 users,  load average: 0.03, 0.42, 0.40 USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT root     pts/0    10.0.0.1         18:14    1.00s  0.53s  0.01s w rc       tty2     tty2             19:39    1:34m 53.10s  0.06s /usr/libexec/g root     pts/2    10.0.0.1         19:48    4.00s  0.02s  0.02s -bash 

1.bash shell

GNU Bourne-Again Shell(bash)是GN90U目前,计划中的重要工具软件之一也是 Linux标准的shell,与 sh兼容

[19:29:18 root@RC ~]#echo $SHELL /bin/bash [19:29:24 root@RC ~]#echo ${SHELL} /bin/bash 

[19:48:59 root@RC ~]#cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /usr/bin/tmux /bin/tmux  

2.hostname设置主机名

#显示当前主机名称 [20:09:09 root@RC ~]#hostname RC #临时修改 hostname  NAME  #永久保存,因为是子过程,需要exit退出保存 hostnamectl set-hostname  NAME  #修改文件设置主机名称 vim   /ect/hostname              

3.命令提示符

提示符可以修改,检查uid。uid=0为管理员,uid>1000为普通用户

[14:09:38 root@RC profile.d]#id -u 0 [09:54:14 root@RC ~]#id root uid=0(root) gid=0(root) groups=0(root) [09:55:41 root@RC ~#id rc
uid=1000(rc) gid=1000(rc) groups=1000(rc)

[09:55:48 root@RC ~]#echo $PS1
\[\e[1;31m\][\[\e[0m\]\t \[\e[1;32m\]\u\[\e[36m\]@\h\[\e[1;35m\] \W\[\e[1;31m\]]\[\e[0m\]\$

vim  /etc/profile.d/env.sh      #centos写入此文件可永久保存
:set paste                      #从Windows复制粘贴格式出错时使用
vim  ~/.bashrc                  #ubuntu写入此文件可永久保存

在linux中,PS1是一个全局变量

  • \e:控制符\003

  • \u:当前用户的账户名称

  • \h:主机名简称

  • \H: 完整的主机名称

  • \d: 代表日期,格式为weekday month date,例如:“Mon Aug 1”

  • \w:当前工作目录

  • \t:显示时间为24小时格式,如:HH:MM:SS

  • \T:显示时间为12小时格式

  • \v: BASH的版本信息

  • !:命令历史数

  • #开机后命令历史数

    前景 背景 颜色
    30 40 黑色
    30 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫红色
    36 46 青蓝色
    37 47 白色

0 OFF 1 高亮显示 4 underline 7 反白显示 8 不可见

4.执行命令

内部命令:由shell自带,而且通过某命令形式提供

外部命令:在文件系统路径下有对用的可执行程序文件

type 	  COMMAND
[12:51:09 rc@rc ~]$type echo
echo is a shell builtin

type  -a  COMMAND
[13:05:20 rc@rc ~]$type -a echo
echo is a shell builtin
echo is /bin/echo

help 内部命令列表

enable 管理内部命令

  • enable cmd 启用内部命令
  • enable -n cmd 禁用内部命令
  • enable -n 查看所有禁用的内部命令

  • which
[15:49:18 root@RC ~]#which date
/usr/bin/date
which -a date
  • whereis
[15:49:27 root@RC ~]#whereis date
date: /usr/bin/date /usr/share/man/man1/date.1.gz /usr/share/man/man1p/date.1p.gz

系统初始hash表为空,但外部命令执行时, 默认会从PATH路径下寻找命令,找到后会将这条命令的路径保记录到hash表中,当再次使用该命令时shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用问速率。

  • hash 显示hash缓存
  • hash -l 显示hash缓存,可作为输入使用
  • hash -p path name 将命令全路径path起别名为name
  • hash -t name 打印缓存中name的路径
  • hash -d name 清除name缓存
  • hash -r 清除缓存

  • 1别名
  • 2内部
  • 3hash
  • 4$PASH
  • 5command not found

5.命令别名

将较长的命令定义成较短的命令,以方便执行

alias

`alias name= ’value‘`

如果别名同原命令同名,如果要执行原命令,可使用

\ALIASNAME
“ALIASNAME”
‘ALIASNAME’
command ALIASNAME
/path/commmand

范例:

[10:22:00 root@RC data]#alias c='cd'
[10:22:28 root@RC data]#c ~
[10:22:36 root@RC ~]#

unalias

unalibs       #取消别名
unalias -a    #取消所有别名

  • 仅对当前用户: ~/.bashrc
  • 对所有用户有效:/etc/bashrc

 source /path/to/config_file 
 . /path/to/config_file 

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

  • 短选项:UNIX 风格选项,-c 例如:-l, -h
  • 长选项:GNU风格选项,–word 例如:–all, --human
  • BSD风格选项: 一个字母,例如:a ;使用相对较少

  • 多个选项以及多参数和命令之间使用空白字符分隔
  • 取消和结束命令执行:Ctrl+c,Ctrl+d
  • 多个命令可以用 “;” 符号分开
  • 一个命令可以用\分成多行

lscpu

[10:34:53 root@RC ~]#lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           2
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
[10:40:06 root@RC ~]#cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 78
model name	: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
stepping	: 3
microcode	: 0xcc
cpu MHz		: 2592.003
cache size	: 4096 KB

lsblk / df

[10:35:00 root@RC ~]#lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  100G  df 0 part /
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0   50G  0 part /data
sr0     11:0    1 1024M  0 rom  
[10:50:19 root@RC ~]#cat /proc/partitions
major minor  #blocks name

   8        0  209715200 sda
   8        1    1048576 sda1
   8        2  104857600 sda2
   8        3    2097152 sda3
   8        4          1 sda4
   8        5   52428800 sda5
  11        0    1048575 sr0

uname -r

[10:50:31 root@RC ~]#uname -r
4.18.0-80.el8.x86_64

16:28:35 rc@RC data]$cat  /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
[10:52:17 root@RC ~]#cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 

  • 系统时钟:由Linux内核通过CPU的工作频率进行的
  • 硬件时钟:主板

[10:53:09 root@RC ~]#date +%F_%T
2020-07-25_10:58:48
显示前n天的时间
[19:35:39 root@centos8 ~]#date -d '-1 day' +%F
2020-07-28
[19:36:46 root@centos8 ~]#date -d '-3 day' +%F
2020-07-26
修改系统时间
date -s '-1 day' +%F

  • -s, --hctosys 以硬件时钟为准,校正系统时钟
  • -w, --systohc 以系统 时钟为准,校正硬件时钟
timedatectl set-timezones  州/地点    #修改时区

[11:02:04 root@RC ~]#cal -y

/ect/localtime
[14:08:57 root@RC ~]#ll /etc/localtime
lrwxrwxrwx. 1 root root 35 Jul 15 10:53 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

  • halt
  • poweroff
  • init 0

  • -f: 强制,不调用shutdown
  • -p: 切断电源

关机或重启:shutdown -r now 0

  • -r: reboot
  • -h: halt
  • -c:cancel TIME:无指定,默认相当于+1(CentOS7)
  • now: 立刻,相当于+0
  • +#:相对时间表示法,几分钟之后;例如 +3 hh:mm: 绝对时间表示,指明具体时间

  • whoami 显示当前登录有效用户
  • who 系统当前所有的登录会话
  • w 系统当前登录的所有会话及所做的操作

  • nano 工具可以实现文本的编辑,上手容易,适合初学者
  • gedit 工具是图形工具
  • vi vim

命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命 令。用户与计算机的这种临时的交互,称为一次"会话"(session) 会话的一个重要特点是,窗口与其 中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终 止,不管有没有运行完 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这 时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止 了,里面的进程也随之消失了。为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终 止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口 终端复用器软件就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访 问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。 (4)它还支持窗口任意的垂直 和水平拆分。 类似的终端复用器还有Screen,Tmux

利用screen可以实现会话管理,如新建会话,共享会话等

[19:08:50 root@centos7 ~]#yum -y install screen
[11:14:32 root@RC ~]#yum -y instal screen

  • 创建新screen会话 screen –S [SESSION]
  • 加入screen会话 screen –x [SESSION]
  • 退出并关闭screen会话 exit
  • 剥离当前screen会话 Ctrl+a,d
  • 显示所有已经打开的screen会话 screen -ls
  • 恢复某screen会话 screen -r [SESSION]

[11:14:32 root@RC ~]#yum install tmux
[11:24:26 root@RC ~]#tmux
[exited]
[11:26:41 root@RC ~]#exit
logout

mux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是 Ctrl+b ,即先按下 Ctrl+b ,快捷键才会生效。帮助命令的快捷键是 Ctrl+b ? 然后,按下 q 键,就可以退出帮助 新建会话 第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会 话,就是 0 号会话、1 号会话。使用编号区分会话,不太直观,更好的方法是为会话起名。

tmux new -s <session-name>
tmux ls
tmux list-session
tmux detach
tmux attach -t <session-name>
tmux kill-session -t <session-name>
tmux switch -t <session-name>
tmux split-window
ctrl+b,"
tmux split-window -h
ctrl+b,%
Ctrl+b %:划分左右两个窗格。

Ctrl+b ":划分上下两个窗格。 

Ctrl+b :光标切换到其他窗格。是指要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。 

Ctrl+b ;:光标切换到上一个窗格。

Ctrl+b o:光标切换到下一个窗格。

Ctrl+b { 
        :当前窗格左移。

Ctrl+b }:当前窗格右移。

Ctrl+b Ctrl+o:当前窗格上移。

Ctrl+b Alt+o:当前窗格下移。

Ctrl+b x:关闭当前窗格。 

Ctrl+b !:将当前窗格拆分为一个独立窗口。 

Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。

Ctrl+b Ctrl+:按箭头方向调整窗格大小。 

Ctrl+b q:显示窗格编号

窗口管理 除了将一个窗口划分成多个窗格,Tmux 也允许新建多个窗口

tmux new-window
tmux new-window -n <window-name>
 tmux select-window -t <window-number>
tmux select-window -t <window-name>

Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。

Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。

Ctrl+b n:切换到下一个窗口。

Ctrl+b :切换到指定编号的窗口,其中的是状态栏上的窗口编号

Ctrl+b w:从列表中选择窗口

Ctrl+b ,:窗口重命

tmux list-keys
tmux list-commands

echo 命令可以将后面跟的字符进行输出

:显示字符,echo会将输入的字符串送往标准输出。输出 的字符串间以空白字符隔开, 并在最后加上换行号 语法:

 echo   [-n,e,E]  [字符串]

echo   "SAVR_NAME "            #用变量值替换,弱引用
echo   ’SAVR_NAME ‘              #变量不会替换,强引用

启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

  • \a 发出警告声
  • \b 退格键
  • \c 最后不加上换行符号
  • \e escape,相当于\033
  • \n 换行且光标移至行首
  • \r 回车,即光标移至行首,但不换行
  • \t 插入tab
  • \ 插入\字符
  • \0nnn 插入nnn(八进制)所代表的ASCII字符
  • \xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)

8.字符集和编码

许多场合下,字符集与编码这两个概念常被混为一谈,但两者是有差别的。字符集与字符集编码是两个不同层面的概念。 charset是character set的简写,即字符集。 encoding是charset encoding的简写,即字符集编码,简称编码

计算机内部,所有信息最终都是一个二进制值。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定,即ASCII(American Standard Code for Information Interchange) 码 ASCII 码一共规定了128个字符的编码,占用了一个字节的后面7位,最前面的一位统一规定为0

由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,即ASCII编码,但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。 全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码为了表示世界上所有语言中的所有字符。每一个符号都给予一个独一无二的编码数字,Unicode 是一个很大的集合,现在的规模可以容纳100多万个符号。Unicode 仅仅只是一个字符集,规定了每个字符对应的二进制代码,至于这个二进制代码如何存储则没有规定

  • UTF-8:变长,1到4个字节
  • UTF-16:变长,2或4个字节
  • UTF-32:固定长度,4个字节

9.命令行扩展和被括起来的集合

9.1 命令行扩展 : $ ( )和``

把一个命令的输出打印给另一个命令的参数

$(CMD) 或 `CMD`

[09:47:53 root@RC ~]#echo "echo $SHELL"
echo /bin/bash
[09:53:25 root@RC ~]#echo 'echo $SHELL'
echo $SHELL
[09:54:00 root@RC ~]#echo `echo $SHELL`
/bin/bash

:不能识别命令,可以识别变量

:六亲不认,变量和命令都不能识别 都当成普通字符串

:B变量和命令都识别,并且会将反向单引号的内容当成命令执行后,在交给调用反向单引号的命令继续

{ } 可以实现打印重复字符串的简化形式

[09:58:22 root@RC ~]#echo {1..10}
1 2 3 4 5 6 7 8 9 10
[10:09:57 root@RC ~]#echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[10:11:47 root@RC ~]#echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [  ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z
[10:10:43 root@RC ~]#echo {1,2,3}.txt
1.txt 2.txt 3.txt

tab键可以实现命令及路径等补全,提高输入效率,避免出错

  • command 2Tab 所有子命令或文件补全
  • string2Tab 以string开头命令
  • /2Tab 显示所有根目录下一级目录,包括隐藏目录
  • ./2Tab 当前目录下子目录,包括隐藏目录
  • *2Tab 当前目录下子目录,不包括隐藏目录
  • ~2Tab 所有用户列表
  • $2Tab 所有变量
  • @2Tab /etc/hosts记录 (centos7不支持)
  • =2Tab 相当于ls –A (centos7不支持)

保存你输入的命令历史。可以用它来重复执行命令 登录shell时,会读取命令历史文件中记录下的命令 ~/.bash_history 登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历 史文件中

  • -c: 清空命令历史
  • -d offset: 删除历史中指定的第offset个命令
  • n: 显示最近的n条历史
  • -a: 追加本次会话新执行的命令历史列表至历史文件
  • -r: 读历史文件附加到历史列表
  • -w: 保存历史列表到指定的历史文件
  • -n: 读历史文件中未读过的行到历史列表
  • -p: 展开历史参数成多行,但不存在历史列表中
  • -s: 展开历史参数成一行,附加在历史列表后

  • HISTSIZE:命令历史记录的条数
  • HISTFILE:指定历史文件,默认为~/.bash_history
  • HISTFILESIZE:命令历史文件记录历史的条数
  • HISTTIMEFORMAT="%F %T " 显示时间
  • HISTIGNORE=“str1:str2*:…” 忽略str1命令,str2开头的历史
  • HISTCONTROL:控制命令历史的记录方式 ignoredups 是默认值,可忽略重复的命令,连续且相 同为“重复” ignorespace 忽略所有以空白开头的命令 ignoreboth 相当于ignoredups, ignorespace 的组合 erasedups 删除重复命令

  • 以上变量可以 export 变量名=“值” 形式存放在 /etc/profile 或 ~/.bash_profile

#重复前一个命令方法
重复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入 !-1 并回车执行
按 Ctrl+p 并回车执行

!:0     执行前一条命令(去参数)
!-n     执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印命令历史,而不执行
!$:p打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:
Ctrl+g:从历史搜索模式退出
#要重新调用前一个命令中最后一个参数
!$       表示
Esc , . 点击Esc键后松开,然后点击 . 键
Alt+ . 按住Alt键的同时点击 . 键
command !^   利用上一个命令的第一个参数做cmd的参数
command !$   利用上一个命令的最后一个参数做cmd的参数
command !*   利用上一个命令的全部参数做cmd的参数
command !:n  利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数执行前一条命令(去除参数

9.5 bash快捷键

Ctrl + l 	清屏,相当于clear命令 

Ctrl + o 	执行当前命令,并重新显示本命令 

Ctrl + s 	阻止屏幕输出,定 

Ctrl + q 	允许屏幕输出 

Ctrl + c 	终止命令 

Ctrl + z 	挂起命令 

Ctrl + a 	光标移到命令行首,相当于Home 

Ctrl + e 	光标移到命令行尾,相当于End 

Ctrl + f 	光标向右移动一个字符 

Ctrl + b 	光标向左移动一个字符 

Alt + f 	光标向右移动一个单词尾 

Alt + b 	光标向左移动一个单词首 

Ctrl + xx 	光标在命令行首和光标之间移动 

Ctrl + u	从光标处删除至命令行首 

Ctrl + k 	从光标处删除至命令行尾 

Alt + r 	删除当前整行 

Ctrl + w 	从光标处向左删除至单词首 

Alt + d 	从光标处向右删除至单词尾 

Ctrl + d 	删除光标处的一个字符 

Ctrl + h 	删除光标前的一个字符 

Ctrl + y 	将删除的字符粘贴至光标后 

Alt + c 	从光标处开始向右更改为首字母大写 的单词 

Alt + u 	从光标处开始,将右边一个单词更改为大写 

Alt + l 	从光标处开始,将右边一个单词更改 为小写 

Ctrl + t 	交换光标处和之前的字符位置 

Alt + t 	交换光标处和之前的单词位置 

Alt + # 提示输入指 定字符后,重复显示该字符#次 

10.获得帮助

  • whatis
  • command --help
  • man and info
  • /usr/share/doc/
  • Red Hat documentation
  • 其它网站和搜索

whatis 使用数据库来显示命令的简短描述 刚安装后不可立即使用,需要制作数据库

#CentOS 7 版本以后
mandb
#CentOS 6 版本之前
makewhatis

10.1查看命令的帮助

  • help COMMAND
[19:57:33 root@centos8 ~]#type cd
cd is a shell builtin
[19:57:43 root@centos8 ~]#help cd
cd: cd [-L|[-P [-e]] [-@]] [dir]
    Change the shell working directory.
    
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.
  • man bash

  • COMMAND --help 或 COMMAND -h
  • 使用手册(manual) man COMMAND
  • 信息页 info COMMAND
  • 程序自身的帮助文档 :README, INSTALL, ChangeLog
  • 程序官方文档
  • 相关网站,技术论坛
  • Google

10.2 --help或-h选项

显示用法总结和参数列表,大多数命令使用,但并非所有的

[15:36:48 root@RC ~]#date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.
[20:05:53 root@centos8 ~]#cd --help
cd: cd [-L|[-P [-e]] [-@]] [dir]
    Change the shell working directory.
    
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.

格式说明:

  • [ ]表示可选项

  • CAPS或 <> 表示变化的数据

  • … 表示一个列表

  • x |y| z 的意思是“ x 或 y 或 z ”

  • -abc的 意思是-a -b –c

  • { } 表示分组

10.3 man命令

man 提供命令帮助的文件,手册页存放在/usr/share/man

几乎每个命令都有man的“页面”

中文man需安装包

  • man-pages
  • man-pages-zh-CN

man页面分组为不同的“章节”,统称为Linux手册,man 1 man

  • 1:用户命令
  • 2:系统调用
  • 3:C库调用
  • 4:设备文件及特殊文件
  • 5:配置文件格式
  • 6:游戏
  • 7:杂项
  • 8:管理类的命令
  • 9:Linux 内核API

#centos6之前版man的配置文件
/etc/man.config
#centos7之后版man的配置文件
/etc/man_db.conf
#ubuntu man 的配置文件
/etc/manpath.config

man [OPTION...] [SECTION] PAGE..
man [章节] keyword

  • NAME 名称及简要说明
  • SYNOPSIS 用法格式说明
  • 可选内容
  • <> 必选内容
  • a|b 二选一
  • { } 分组
  • … 同一内容可出现多次
  • DESCRIPTION 详细说明
  • OPTIONS 选项说明
  • EXAMPLES 示例
  • FILES 相关文件
  • AUTHOR 作者
  • COPYRIGHT 版本信息
  • REPORTING BUGS bug信息
  • SEE ALSO 其它帮助参考

  • space, ^v, ^f, ^F: 向文件尾翻屏

  • b, ^b: 向文件首部翻屏

  • d, ^d: 向文件尾部翻半屏

  • u, ^u: 向文件首部翻半屏

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

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

  • q: 退出

  • #:跳转至第#行

  • 1G: 回到文件首部

  • G:翻至文件尾部

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

    n: 下一个

    N:上一个

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

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

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

  • 列出所有帮助
man -a keyword
  • 相当于whatis
man  -f keyword

1.通过在线文档获取帮助

http://httpd.apache.org

http://www.nginx.org

https://mariadb.com/kb/en

https://dev.mysql.com/doc/

http://tomcat.apache.org

http://www.python.org

2.红帽知识库和官方在线文档

通过发行版官方的文档光盘或网站可以获得安装指南、部署指南、虚拟化指南等 http://kbase.redhat.com

http://www.redhat.com/docs

http://access.redhat.com

https://help.ubuntu.com/lts/serverguide/index.html

3.红帽全球技术支持服务

rhn.redhat.com或者本地卫星服务器/代理服务器

RHN账户为及其注册和基于网络管理的RHN用户

sosreport 收集所有系统上的日志信息的工具,并自动打成压缩包,方便技术支持人员和红帽全球支持提供分析问题依据

4.网站和搜索

http://tldp.org

http://www.slideshare.net

http://www.google.com

第一周 文件管理和IO重定向

1.文件系统目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3kzUFQz5-1598174225427)(C:\Users\RC\Pictures\Saved Pictures\QQ截图20200807115935.png)]

  • 文件和目录被组织成一个单根倒置树结构

  • 文件系统从根目录下开始,用“/”表示

  • 根文件系统(rootfs):root filesystem

  • 标准Linux文件系统(如ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL

  • 以.开头的文件为隐藏文件

  • 路径分隔的 /

  • 文件名最长255个字节

  • 包括路径在内文件名称最长4095个字节

  • 蓝色–>目录 绿色–>可执行文件 红色–>压缩文件 浅蓝色–>链接文件 灰色–>其他文件

  • 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用

  • 每个文件都有两类相关数据: 元数据:metadata 数据:data

    Linux的文件系统分层结构:FHS Filesystem Hierarchy Standard

1.2常见的文件系统目录功能

  • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录

  • /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序

  • /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序

  • /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

  • /lib64:专用于x86_64系统上的辅助共享库文件存放位置

  • /etc:配置文件目录

  • /home/USERNAME:普通用户家目录

  • /root:管理员的家目录

  • /media:便携式移动设备挂载点

  • /mnt:临时文件系统挂载点

  • /dev:设备文件及特殊文件存储位置

    ​ b: block device,随机访问

    ​ c: character device,线性访问

  • /opt:第三方应用程序的安装位置

  • /srv:系统上运行的服务用到的数据

  • /tmp:临时文件存储位置

  • /usr: universal shared, read-only data

    ​ bin: 保证系统拥有完整功能而提供的应用程序

    ​ sbin:

    ​ lib:32位使用

    ​ lib64:只存在64位系统

    ​ include: C程序的头文件(header files)

    ​ share:结构化独立的数据,例如doc, man等

        		  local:第三方应用程序的安装位置
    

    ​ bin, sbin, lib, lib64, etc, share

  • /var: variable data files

    ​ cache: 应用程序缓存数据目录

    ​ lib: 应用程序状态信息数据

    ​ local:专用于为/usr/local下的应用程序存储可变数据

    ​ lock: 锁文件

    ​ log: 日志目录及文件

    ​ opt: 专用于为/opt下的应用程序存储可变数据

    ​ run: 运行中的进程相关数据,通常用于存储进程pid文件

    ​ spool: 应用程序数据池

    ​ tmp: 保存系统两次重启之间产生的临时数据

  • /proc: 用于输出内核与进程信息相关的虚拟文件系统

  • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统

  • /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

  • /bin 和 /usr/bin

  • /sbin 和 /usr/sbin

  • /lib 和/usr/lib

  • /lib64 和 /usr/lib64

二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc 帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

(7种)

  • -普通文件
  • d 目录文件directory
  • b 块设备black
  • c 字符设备character
  • l 符号链接文件link
  • p 管道文件pipe
  • s 套接字文件socket

标签: 7b0bs41变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台