首页 > 代码库 > Linux管理命令详解

Linux管理命令详解

技术人员成长的三个坎:

古人成功的三个句子,古之人要成大事者,必要经过三重境界:

第一重目标:找方向,定目标

第二重目标:孜孜不倦,支持以恒的几十年如一日的坐冷板凳为之而努力;

第三重目标:当你不经意间你会发现,你的目标已经远远被你甩在身后了。

昨夜西风凋碧树,独上高楼,望断天涯路。

衣带渐宽终不悔,为伊消得人憔悴。

众里寻他千百度,蓦然回首那人却在灯火阑珊处。

世界上没有任何有价值的东西是易学的,三分钟热度,经常变换的人终究一事无成。

学了一段时间,也付出了很多努力,这个时间段大概需要一到两年,但是会碰到一个门槛,再想往上走,比较困难,此时放弃,不再进行任何努力,业余专家,真正成为专家,要十年如一日。

任何一个领域,坚持两年到三年,我们可以专家,坚持五年以上可以成为权威。

三天不学习,赶不上刘少奇。

毕业了,是比学校更苦、更累、更抓狂的日子开始了。



目录管理:

ls、cd、pwd、mkdir、rmdir、tree


文件管理:

touch、stat、file、rm、cp、mv、nano


日期时间:

date、clock、hwclock、cal


查看文本:

cat、tac、more、less、head、tail


cat:concatenate(连接并显示)从头部向尾部显示 从标准输入到标准输出。

  -n:显示行号

  -E:显示尾部结束符的

  -T:显示制表符

  -v:显示非打印字符


tac:从尾部想头部显示

cat /etc/issue /etc/fstab

Ctrl+c,终止信号,常用技巧。


分屏显示命令:

more、less


more的用法与cat基本类似,但可以一页一页的手动查看内容,向后翻。

less的用法基本与man相似

less /etc/rc.d/rc.sysinit


head:查看文件的前n行,n默认是10

tail:查看文件的后n行,n默认是10

  -n,指定显示多少行。空白行也是一行。


tail -f,查看文件尾部并不退出,显示增加进来的后续内容。

任何时候,别否定自己,不要暗示,墨菲定律。要有信息,只要不盲目。


文本处理:

cut、join、sed、awk(报告生成命令)

三大利器:sed、awk、grep


database:数据库


关系型数据库:

表:行和列组成,二维表


文本文件:保存数据库,用空格分开,或者指定符号分开即可,但是索引速度较慢。

Tom:23:male:2013/05/06


cut:

  -d:指定字段分隔符,默认为空格。

  -f:指定要显示的字段。

    -f1,显示第一个字段 1,3,显示1 和 3, 1-3,显示1到3.


文本排序的命令:

sort,不影响源文件的次序,只是影响显示次数。

nano.test,默认不是按照数值大小排序的。

sort:

  -n:按照数值的大小排序。

  -r:按照数值的大小逆序排序。

  -t:字段分隔符

  -k:以哪个字段为关键字进行排序

  -u:排序后相同的行只显示一次

  -f:排序时忽略字符大小写


uniq:报告哪行出现重复,或者忽略重复行,如果行不相邻,意味着不是重复行。

  -d:只显示重复的行

  -D:显示所有重复的行

  -c:显示重复行,并显示重复了几次。


文本统计:wc(word count)

  -l:只显示行

  -w:只显示单词

  -m:只显示字符数

 -c:只显示字节数

  -L:最长的一行包含了多少个字符


字符处理命令:tr(用于实现转换或删除字符)

tr [OPTION].....SET1[SET2]  通常用输入重定向 < 处理文本的相关字符。

tr ‘a-z‘ ‘A-Z‘ < /etc/fstab

tr -d :删除出现在字符集中的所有字符。


bash及其特性:

系统组成中,跟用户最近的是shell。

shell:外壳,用户连接计算机的程序

GUI:Gnome,KDE,Xface

CLI:sh,csh,ksh,bash(遵循开源协定),tcsh,ksh,zsh


root,student

程序:进程,进程理解为程序的副本。


Linux的特性,允许一个用户同时多次登录,为多个shell,相互独立,互不干扰。

进程:在每个进程看来,当前主机上只存在内核和当前进程。

进程是程序的副本,进程还是程序执行的实例。用户退出,shell终止。


用户的工作环境:

bash:不同的用户登录,环境可以不同,默认是相同的。大环境相同,小环境稍有不同,可自定义。


shell,子shell,  pstree

bash--bash,并不知道其他shell运行,只知道内部启动了一个程序而已,大部分对父shell设定,对子shell是无效的,对子shell设定,对父shell是无效的。


bash:

1、命令历史、命令补全

2、管道、重定向

3、支持命令别名

4、支持命令行编辑

5、命令行展开

6、文件名通配

7、支持使用变量

8、支持编程


bash特性:

命令行编辑:

命令光标跳转:

  Ctrl+a 跳到命令行首

  Ctrl+e 跳到命令行尾

  Ctrl+u 删除光标至命令行首的内容

  Ctrl+k 删除光标至命令行尾的内容

  Ctrl+->或者Ctrl+<- 跳转单词

  Ctrl+l 清屏


命令历史:

  bash默认会自动记录命令的执行历史,存放内存缓冲区中。

  查看命令历史:history

    -c:清空命令历史

    -d OFFSET [n]:删除指定个数命令,或者指定个数范围命令。

    用户正常退出后,历史使用命令会保存到某个文本当中。

    -w:保存命令历史至历史文件中。


环境变量:

PATH:命令搜索路径

HISTSIZE:命令历史缓存区大小,默认保存一千个。


命令历史的使用技巧:

上下箭头翻

!n:执行命令历史中的第n条命令。

!-n:执行命令历史中的倒数第n条命令。

!!:执行上一条命令。

!string:执行命令历史中最近一个以指定字符串开头的命令。

!$:就能引用前一个命令的最后一个参数

Esc,.自动获取上个命令的最后一个参数

Alt+.:引用上一个命令的最后一个参数


命令补全的功能:(敲tab键)(命令开头字母,连敲两次tab,自动补全或者列出字母开头的选项)

  PATH:命令的搜索路径

路径补全

对于linux而言,文本行结束符是$,windows行结束符有两个,回车符和$符


Linux管理命令详解