【Linux】鸟哥的Linux私房菜基础学习篇整理(五)

1. type [-tpa] name:查看name命令是否为bash内置命令。
参数:
type:不加任何参数,type会显示出那么是外部命令还是bash的内置命令;
-t:当加入-t参数时,type会通过如下关键字显示其意义:
  file:表示为外部命令
  alias:表示为命名别名
  builtin:表示为bash的内置命令
-p:如果后面接的name为外置命令时,才会显示完整文件名;
-a:会由PATH变量定义的路径中,将含有name的命令都列出来,包含别名。

2. unset name:取消变量名name的设置。

3. env:查看环境变量。
常见环境变量说明:
HOME:用户主文件夹;
SHELL:当前环境使用的shell路径;
HISTSIZE:历史命令条数;
MAIL:使用mail命令时,系统会去读取的邮件信箱文件;
PATH:可执行文件路径;
LANG:语系数据;
RANDOM:随机数变量。

4. set:查看所有变量(环境变量与自定义变量)。
常见变量说明:
PS1:命令行提示符,其含义如下:
  \d:可显示出“星期月日”的日期格式;
  \H:完整的主机名;
  \h:仅取主机名在第一个小数点前的名字;
  \t:显示时间,为24小时格式“HH:MM:SS”;  
  \T:显示时间,为12小时格式“HH:MM:SS”;
  \A:显示时间,为24小时格式“HH:MM”;
  \@:显示时间,为12小时格式“am/pm”;
  \u:目前用户的账号名称;
  \v:BASH的版本信息;
  \w:完整的工作目录名称;
  \W:利用basename函数取得工作目录名称,仅列出最后一个目录名;
  \#:执行的第几个命令;
  \$:提示符,若为root,则显示#,其他显示$。
$:表示目前SHELL线程的PID;
?:代表上一个执行命令的回传码。

5. locale [-a]:查询支持的语系。
参数:
无参数:查看与语系相关的变量设置;
-a:查看支持的全部语系。

6. read [-pt] variable:读取来自键盘的输入到变量。
参数:
-p:后面可接提示符;
-t:后面可以接至多等待的秒数。

7. declare [-aixr] variable:声明变量的类型。
参数:
-a:将变量声明为数组类型;
-i:将变量声明为整型;
-x:将变量声明为环境变量;
-r:将变量设置为只读类型

8. ulimit [-SHacdfltu] [配额]:限制配额设置。
参数:
-H:Hard Limit,严格设置,必定不能超过这个设置值;
-S:Soft Limit,警告设置,可以超过这个设置值,当会产生警告信息;
-a:后面不接任何参数,列出所有的限制配额;
-c:限制每个core file文件的最大容量;
-f:限制shell可以创建的最大文件容量;
-d:进程可以使用的最大断裂内存容量;
-l:可用于锁定的内存容量;
-t:可使用的最大CPU使用时间;
-u:单一用户可以使用的最大进程数目。

9. 变量内容的删除与替换。
变量设置方式:
${变量#关键字}:若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除;
${变量##关键字}:若变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除;
${变量%关键字}:若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除;
${变量%%关键字}:若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除;
${变量/旧字符串/新字符串}:若变量内容符合“旧字符串”,则第一个旧字符串则会被新字符串替换;
${变量//旧字符串/新字符串}:若变量内容符合“旧字符串”,则全部的旧字符串则会被新字符串替换。

10. history [n]/history [-c]/history [-raw] histfiles:历史命令。
参数:
n:数字,列出最近的n条命令;
-c:将目前shell中的所有history内容全部清除;
-a:将目前新增的history命令加入histfiles中,默认写入~/.bash_history;
-r:将histfiles的内容读到目前这个shell的history中;
-w:将目前新增的history命令写入histfiles中。

11. !number/!command/!!:执行history中的命令。
参数:
number:数字,执行第几条命令;
command:执行最近的以command开头的命令;
!!:执行上一条命令。

12. cut -d ‘分隔字符‘ -f fields/cut -c 字符范围:分隔信息。
参数:
-d:后面接分隔字符,与-f一起使用;
-f:表示列出分割后的第几段;
-c:以字符的单位列出固定字符区间。

13. grep [-acinv] [--color=auto] ‘查找字符串‘ filename:查找信息。
参数:
-a:将binary文件以text文件的方式查找数据;
-c:计算找到‘查找字符串‘的次数;
-i:不区分大小写;
-n:同时输出行号;
-v:反向选择;
--color=auto:将找到的关键字加上颜色显示。

14. sort [-fbMnrtuk] [file or stdin]:排序。
参数:
-f:忽略大小写的差异;
-b:忽略最前面的空格符;
-M:以月份的名字来排序;
-n:使用纯数字进行排序,默认是按照字典序排序;
-r:反向排序;
-u:uniq,使用相同的数据,仅显示一行;
-t:设置分隔符,默认是[Tab];
-k:设置指定的排序区间。

15. uniq [-ic]:重复数据仅显示一个。
参数;
-i:不区分大小写;
-c:进行计数。

16. wc [-lwm]:计数。
参数:
-l:仅列出行;
-w:仅列出多少字;
-m:仅列出多少字符。

17. tee [-a] file:双重重定向(屏幕和文件均重定向)。
参数:
-a:以累加的方式加入file。

18. tr [-ds] SET1...:删除或替换文字。
参数:
-d:删除信息当中的SET1这个字符串;
-s:替换掉重复的字符串
     tr ‘[a-z]‘ ‘[A-Z]‘:将所有小写字母替换为大写字母。

19. col [-xb]:转移字符替换。
参数:
-x:将[Tab]键替换为对等的空格键;
-b:在文字内有/时,仅保留反斜杠最后接的那个字符。

20. join [-ti12] file1 file2:将两个文件中有相同数据的行加在一起。
参数:
-t:默认以空格符分割数据,并且对比第一个字段的数据,若两个文件第一个字段相同,则将两条数据整合成一行数据;
-i:忽略大小写的差异;
-1:代表第一个文件要用哪个字段分析,后接数字;
-2:代表第二个文件要用哪个字段分析,后接数字。

21. paste [-d] file1 file2:将两个文件直接贴在一起,用[Tab]键分割。
参数:
-d:后面可以接分割字符,默认以[Tab]键分割;
-:如果file部分写成-,代表标准输入。

22. expand [-t] file:将[Tab]键转换成空格键。
参数:
-t:后面接数字,表示[Tab]键可以用多少个空格键替换。

23. split [-bl] file PREFIX:切割命令。
参数:
-b:后面接欲分割的文件大小,可加单位,如b、k、m等;
-l:以行数来进行切割;
PREFIX:代表前导符,可作为切割文件的前导文字。

24. xargs [-0epn] command:参数代换。
参数:
-0:如果输入的stdin含有特殊字符,将它还原成一般字符;
-e:代表指定终结符,xargs分析到该指定字符后停止继续工作;
-p:在执行每个命令的参数时,询问用户的意思;
-n:后面接次数,每次command执行时使用多少个参数。
使用xargs是因为很多命令其实并不支持管道命令,可以通过xargs来提供该命令引用stdin。

【Linux】鸟哥的Linux私房菜基础学习篇整理(五)

时间: 2024-08-09 06:19:22

【Linux】鸟哥的Linux私房菜基础学习篇整理(五)的相关文章

【Linux】鸟哥的Linux私房菜基础学习篇整理(一)

最近,一直在写PPC的模拟器和汇编器,也在做设计.所以重新看了看<鸟哥的Linux私房菜>,还是有好多命令不太熟悉.就打算写几篇blog记下来. 1. nl [-bnw] filename:添加行号打印参数:-b:指定行号指定的方式,主要有两种: -b a:表示不论是否为空行,也同样列出行号(类似cat -n): -b t:如果有空行,空的那一行不要列出行号(默认值).-n:列出行号表示的方法,主要有三种: -n ln:行号在屏幕的最左方显示: -n rn:行号在自己字段的最右方显示,且不加0

【Linux】鸟哥的Linux私房菜基础学习篇整理(二)

1. dumpe2fs [-bh] devicename:查询superblock信息.参数:-b:列出保留为坏道的部分:-h:列出superblock的数据,不会列出其他的区段内容. 2. df [-ahikHTm] 目录或文件名:列出文件系统的整理磁盘使用量.参数:-a:列出所有的文件系统,包括系统特有的/proc等文件系统:-k:以KB的容量显示各文件系统:-m:以MB的容量显示各文件系统:-h:以人们易阅读的GB.MB.KB等格式自行显示:-H:以M=1000K替代M=1024K的进位方

【Linux】鸟哥的Linux私房菜基础学习篇整理(七)

1. test命令的测试功能.测试的标志:(1)关于文件类型的检测 test [-efdbcSpL] filename-e:该文件名是否存在:-f:该文件名是否为文件:-d:该文件名是否为目录:-b:该文件名是否存在且为一个block device设备:-c:该文件名是否存在且为一个character device设备:-S:该文件名是否存在且为一个Socket文件:-p:该文件名是否存在且为一个FIFO文件:-L:该文件名是否存在且为一个连接文件.(2)关于文件权限的检测 test [-r]

【Linux】鸟哥的Linux私房菜基础学习篇整理(九)

1. quotacheck [-avugfM] [/mount_point]:扫描文件系统并创建Quota配置文件.参数:-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,不必写/mount_point:-u:针对用户扫描文件与目录的使用情况,会新建aquota.user:-g:针对用户组扫描文件与目录的使用情况,会新建aquota.group:-v:显示扫描过程的信息:-f:强制扫描文件系统,并写入新的quota配置文件(危险):-M:强制以读写的方式扫描文件系

Bombe 【Linux】鸟哥的Linux私房菜基础学习篇整理(三)

1. gzip [-cdtv#] filename:压缩.参数:-c:将压缩的数据输出到屏幕上,可通过数据重定向进行处理:-d:解压缩的参数:-t:可以用来检验一个压缩文件的一致性,查看文件有无错误:-v:可以显示出原文件/压缩文件的压缩比等信息:-#:压缩等级,1最快(压缩比最差),9最慢(压缩比最好),默认6. 2. zcat *.gz:读取gzip压缩文件. 3. bzip2 [-cdkzv#] filename:压缩.参数:-c:将压缩过程中产生的数据输出到屏幕上:-d:解压缩的参数:-

【Linux】鸟哥的Linux私房菜基础学习篇整理(十二)

1. depmod [-Ane]:更新内核模块依赖.参数:无参数:depmod会主动分析目前内核的模块,并重新写入/lib/modules/$(uname -r)/modules.dep中:-A:depmod会查找比modules.dep内还要新的模块,如果找到符合模块才更新:-n:不写modules.dep,而将结果输出到屏幕:-e:显示目前已加载的不可执行的模块名称. 2. lsmod:查看内核目前加载的模块. 3. modinfo [-adln] [module_name|filename

【Linux】鸟哥的Linux私房菜基础学习篇整理(四)

1. VI按键说明.(1)移动光标的方法h或向左箭头:光标向左移动一个字符:j或向下箭头:光标向下移动一个字符:k或向上箭头:光标向上移动一个字符:l或向右箭头:光标向右移动一个字符:进行多次移动,如向左移动30行,可以使用“30k”或者“30<-”[ctrl]+[f]:屏幕向下移动一页:[ctrl]+[b]:屏幕向上移动一页:[ctrl]+[d]:屏幕向下移动半页:[ctrl]+[u]:屏幕向上移动半页:+:光标移动到非空格的下一行:-:光标移动到非空格的上一行:n[space]:n表示数字,

【Linux】鸟哥的Linux私房菜基础学习篇整理(六)

1. 正则表达式特殊符号.[:alnum:]:代表英文大小写字符及数字:[:alpha:]:代表英文大小写字符:[:blank:]:代表空格键与[Tab]键:[:cntrl:]:代表键盘上的控制键,即包括CR.LF.Tab.Del键:[:digit:]:代表数字:[:graph:]:除了空格符外的其他所有按键:[:lower:]:代表英文小写字符:[:print:]:代表任何可以被打印出来的字符:[:punct:]:代表标点符号,即"'?!;:#$:[:upper:]:代表英文大写字符:[:sp

【Linux】鸟哥的Linux私房菜基础学习篇整理(八)

1. useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM]\   [-c 说明栏] [-d 主文件夹绝对路径] [-r] [-s shell] 用户账号名:新增用户.参数:-u:后面接UID,是一组数字,直接指定一个特定的UID给这个账号:-g:后面接初始用户组,该用户组的GID会被放置到/etc/passwd的第四个字段:-G:后面接这个账号还可以加入的用户组:-M:强制,不创建用户主文件夹(系统账号默认值):-m:强制,创建用户主文件夹(一般账号默认值):