linux常用命令详解(106个)

Posted wyply115

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux常用命令详解(106个)相关的知识,希望对你有一定的参考价值。

注意事项

  • linux严格区分大小写
  • 以下命令测试均在centos6.7中测试通过
  • 常用快捷键:
    – 1. tab 补全:命令补全按键,一般直接连按三下路径补全按键
    – 2. Ctrl+c 强制终止:终止当前任务或程序
    – 3. Ctrl+d 退出会话:退出当前窗口或会话,相当于logout,exit
    – 4. Ctrl+l 清屏:清屏,相当于clear
    – 5. CRT中的复制和粘贴
    Ctrl+shift+c(Ctrl+insert)ssh客户端SecureCRT里复制的命令
    Ctrl+shift+v(shift+insert)ssh客户端SecureCRT里粘贴的命令
    – 6. Ctrl+a 到命令开头:光标移动到行开头
    – 7. Ctrl+e 到命令结尾:光标移动到行结尾
    – 8. Ctrl+u 剪切前面的命令:剪切前面的命令,相当于清掉前面
    – 9. Ctrl+k 剪切后面的命令:剪切后面的命令,相当于清掉后边
    – 10. Ctrl+r 搜索:搜索
    – 11. Ctrl+s 挂起:挂起后敲命令没反应
    – 12. Ctrl+q 解除挂起:解除挂起操作

1. ls

  • 简述:列出文件或目录列表。
ls	#默认列出当前目录下的所有文件。
ls  -l(long) #以长格式查看文件。
ls  -d(directorys) #查看目录。
ls  -F #给不同文件的结尾加标识
ls  -p #给目录结尾加斜线
ls  -a #显示所有文件,包括隐藏文件,默认.开头的文件都是隐藏不显示的
ls  -r #倒排序
ls  -t #按修改时间排序,一般rt结合,查看最近被修改的文件。
\\ls  --color=auto #显示颜色,别名默认设置了。
ls  -i  /data/ #显示inode,文件索引。
ls –lh  /data/ #h参数标识人类可读,会将文件大小换成kb、Mb等。
ls  –l  --time-style=long-iso  /data #规范时间,(2016-03-04这种格式)。

2. mkdir

  • 简述:创建目录。
mkdir /data  #在根目录下创建data目录。
mkdir  –p  /aa/bb  #创建目录bb,如果没有aa目录则自动创建。

3. cd

  • 简述:切换目录。
cd  /etc  #从当前目录切换到/etc路径下。

4. pwd

  • 简述:打印工作目录。Pring Working Directory
pwd (print work directory)  #显示当前所在路径。
#pwd的原理就是取$PWD这个变量的值
echo $PWD #可以看到这个变量的值

5. touch

  • 简述:不存在就创建文件,存在则更新文件时间戳信息。
touch  /data.txt #直接在/目录下创建data.txt文件。
cd /; touch data.txt #切换到/目录下,创建data.txt文件。

6. vi/vim

  • 简述:vi编辑器。
vi /data.txt #打开data文件,打开默认为命令模式不可编辑。
			#点击a或i进入插入状态,点击Esc退出编辑状态进入命令状态。
			#命令状态按:wq保存退出。(wq为write quit)
#命令模式下:
dd #直接删除一行
set nu #显示行号
set nonu #不显示行号
G :$ ]] #光标移动到文件的最后一行
:0 gg [[ #光标移动到文件的第一行
0 ^ home #从光标所在位置将光标移动到当前行的开头
$ end #从光标所在位置将光标移动到当前行的结尾
u #取消上一次的动作
/ #向下搜索,继续搜索n,反向搜索N
? #向上搜索,继续搜索n,反向搜索N

7. echo

  • 简述:打印
echo  ‘I like linux’ #打印后边的字符串。
echo  –n  “oldboy”;echo “oldboy”  #不换行输出
echo  -e  “oldboy\\toldboy” #加特殊符号,比如制表符\\t,换行\\n等。

8. cat

  • 简述:查看文件内容
cat  /data.txt #查看data.txt文件中的内容
cat  >>/data.txt<<EOF
I like linux
you like linux
EOF	
#以上用法结合了cat和>>和<<,可以追加多行内容,内容用EOF包裹,
#EOF可以用任意重复字符替换,只要内容不存在就可以。文件不存在会自动创建文件。
cat  -n  /data.txt #显示行号
cat  test,1  >/tmp/aaa.txt #将test.txt和test1.txt文件内容合并到aaa.txt里面,行合并,上下合并。
cat  -T  test.txt #区分tab键和空格,tab键会被^I替代。
cat  -E test.txt #会在行尾加$符号,空行也会有。

9. tac

  • 简述:和cat相反,倒序读取文件。最后一行先输出,然后倒数第二行……如此。

10. paste

  • 简述:粘帖,可以用作合并。
paste  test1  test2 #列合并,即左右合并。
paste  -d : test1  test2 #以冒号分隔,列合并。
paste  -s  test1  test2 #将每个文件列转行之后再按行合并。

11. sort

  • 简述:排序命令
sort  aa.txt #将内容按ascII码进行排序。
sort  -n  aa.txt #讲内容按数值排序。
sort  -r  aa.txt #倒序
sort  -u  aa.txt #压缩重复行
sort  -k2  aa.txt #-k默认以空格分隔,指定第2列进行排序
sort  -t  “:”  -k 2 aa.txt #用冒号分隔后以第2列进行排序。

12. rev

  • 简述:每行倒读。
echo  1234|rev #输出的是4321

13. nl

  • 简述:显示行号
nl  /data.txt

14. cp

  • 简述:拷贝命令,可以拷贝文件或目录
cp /data/aa.txt  /test/ #将/data/aa.txt文件拷贝到/test/目录下。
cp  –r  /data  /test/ #将/data目录递归拷贝到/test/下面。
cp  –a  /data  /test/ #-a参数相当于-pdr
-p #连同档案属性一块拷贝,而非默认属性。
-d #若原文件为链接文件,则复制链接文件属性而非档案本身。

15. rm

-简述:删除命令,remove。删除动作很严重,少用。一般结合find删除。

rm /test/aa.txt #删除/test/aa.txt文件。 不加参数会提示确认删除。
rm –f /test/aa.txt #强制删除,不会出提示。
rm –r /test #删除目录,目录下若有文件,则每个文件都会提示,可以加f参数。

16. head

  • 简述:取内容头n行,默认10行。
head –n 3 aa.txt #取aa.txt前三行内容。等于head -3 aa.txt

17. tail

  • 简述:取内容后n行,默认后10行。
tail –n 3 aa.txt #取aa.txt后3行内容。等于tail -3 aa.txt
tail –f  /var/log/messages #实时监控此文件尾部的变化,等于tailf
tail –F  /var/log/messages #实时监控此文件尾部的变化,如果出错会重试

18. less

  • 简述:一屏一屏显示,回车向下一次一行,空格向下一次一屏,可回退看,b是一次一屏回退看。less是部分内容加入内存,打文件也很快。

19. more

  • 简述:按页一次一屏,回车一次一行,空格一次一屏,无法回退看,多用less。more是内容全部一次加载如内存,打文件比较慢。
more  +290  test.txt #直接跳至第290行内容。
more  -20  test.txt #显示前20行内容。

20. cut

  • 简述:切割行
cut  -b  2  test.txt #只显示test.txt第二个字节的内容,如果是汉字可能不会显示,因为汉字(utf-8编码占三个字节)。
cut  –c  2  test.txt #显示第2个字符。
cut  -f  2  test.txt #以tab键分割,显示第2列。注意:cut默认以tab键分隔,awk默认以空格。
cut  -d “ ” –f  2  test.txt #以空格分隔,显示第2列。-d可以指定分隔符,只能指定一个。

21. split

  • 简述:按照指定的行数或大小分割文件
  • 语法:split 选项 输入文件 输出文件的前缀(后缀自动生成)
split  -l  10  /etc/inittab  new_ #将文件inittab每10行切割成一个文件。
split  -l  10  -a  4  /etc/inittab  new_ #-a是指定后缀生成的长度。
split  -b  2M  /data/test.txt  #按文件大小进行切割。

22. seq

  • 简述:生成序列
seq 20 >aa.txt
seq 2  5 #输出从2到5,左右都包含。
seq 1  3  10 #从1开始间隔3,一直到10。相当于等差数列。
seq –s “  ” 10  #-s指定分隔符,此处会输出1行1-10,空格隔开。
seq  -w  10 #输出01 02 03 …10,即输入加0的。

23. tree

  • 简述:查看目录树结构层次
tree  /data #查看/data树结构包含文件和目录。
#注意:此命令如果没有需要安装一下:
yum install tree –y
tree  –d  /data #只显示/data/下的目录
tree  -L  1  /data #显示层级,这里显示1层。(Level)
tree  –i  /data #不显示树枝,那些横线不显示了。
tree  –F  /data #区分目录和文件及其他文件,文件不加标示,目录后边会加斜线/

24. alias/unalias

  • 简述:别名,取消别名
alias #查看已有的别名。
alias cp=’cp -i’ #设置别名。 只对当前生效,重启后失效。
永久生效:放入
/etc/profil #全局生效。
~/.bashrc #当前用户生效。
unalias  cp #取消cp的别名。
  • 作用:
    通过给危险命令加保护参数,防止人为误操作。
    把很多复杂的字符串或命令变成一个简单的字符串或命令。

25. 重定向(> />>/<<)

  • 简述:标准输出/输入,结合echo会创建文件覆盖文件内容或追加内容。
echo ‘I like linux’>/data.txt #如果data.txt不存在则创建并把内容输入进文件。如果文件存在则覆盖内容。
echo ‘I like linux’>>/data.txt #追加内容到文件尾部。
echo ‘aa
bb
cc’>>/data.txt #追加多行内容。
cat  >>/data.txt<<EOF
I like linux
you like linux
EOF
#上述用法结合了cat和>>和<<,可以追加多行内容,内容用EOF包裹,EOF可以用任意重复字符替换,
#只要内容不存在就可以。文件不存在会自动创建文件。

26. 重定向概念

  • >或1> 输出重定向:把前面输出的东西输入到后边的文件中,会清除文件原有内容。
  • >>或1> 追加重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件原有内容。
  • 0<或<< 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名。
  • 2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
  • 2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
    箭头的指向就是数据的流向。
    数字0表示标准输入(stdin),默认可以不用写。
    数字1表示正常输出(stdout)。
    数字2表示标准错误输出(stderr)。
  • 实例:
echo  1 2 3 4 >/data.txt
xargs –n 2 </data.txt  #其中2表示两个一组。输出如下:
1 2
3 4
echo girl >a.txt 2>a.txt #将正确或者错误信息都输入到a.txt。
echo girl >a.txt 2>&1 #和上面的意思一样,不同的写法,这个常用。
echo girl &>a.txt #和上面意思一样,正确和错误信息都放入a.txt。

27.

echo 1..10; echo a..z #两个都会打印输出 1-10和a-z
mkdir  –p  /data/aa,bb/data  #创建/data/aa/data和/data/bb/data两个目录。

28. ~

  • 简述:表示当前用户的家目录。
cd ~ #切换到当前用户的家目录中

29. –

  • 简述:上一次所在的目录。读取的是 $OLDPWD 这个路径
cd - #切换到上一次所在的目录

30. !

!m #调出最近使用过的以m开头的命令。
!! #调出最近使用的命令。
!+数字 #表示调出历史的第几条命令。
取反

31. history

  • 简述:显示历史执行过的命令
history  -c #清空当前的历史记录,清空比较安全,但对管理不是很方便。
history  -d  num #删除指定记录。
#调整历史记录的数量
export  HISTSIZE=5 #调整命令行历史记录数量。此处操作后,文件中仍然存在
cat  ~/.bash_history  #可以查看历史文件仍然存在,下面可以设置文件存在的历史记录数量。
export  HISTFILESIZE=5 #调整历史记录为5条。

32. man

  • 简述:查看命令的帮助信息,非内置命令
man mv #查看mv命令的帮助信息。

33. --help

  • 简述:查看命令的简短帮助信息,适用于内置命令
cp  --help
help cd #查看内置命令帮助

34. info

  • 简述:查看帮助信息

35. stat

  • 简述:查看文件详细属性
stat  aa.txt #查看aa.txt详细的属性

36. xargs

  • 简述:从标准输入获取内容创建和执行命令。
# -n 接数字相当于分组。
echo  1 2 3 4 >/data.txt
xargs  –n  2  </data.txt  #其中2表示两个一组。输出如下:
1 2
3 4

37. find

  • 简述:顾名思义
find /data –type f –name “test.txt” –exec rm   \\;
#先找到/data下面名字叫test.txt的文件,然后执行删除操作。
find /data –type f –name “test.txt” |xargs  rm  -f #用管道和xargs进行删除。
#用xargs的目的是将找到的内容变为1行。
#-type :文件类型 f(file),d(directory),c(character),b(block)
#s(sockey),l(link)
#-name :文件名称。
#-mtime :参考考试题,删除7天之前的文件。
#-o :或的意思,find /data –type f –name “aa.txt” –o –name “bb.txt”:找aa.txt或bb.txt
#-a :取交集的意思,同-o用法类似。
#-maxdepth :查找的深度
#-perm  4755 :按权限查找
  • 实例:
mv `find /data  -type f  -name 	“*.txt”`  /temp/
#注意 find前面和txt双引号后边分别有一个反引号。
#将找到的文件移动到/temp/下面。其中的反引号表示执行里面的命令。

38. grep

  • 简述:过滤功能
grep ty test.txt #过滤出test.txt中包含ty的内容。
grep –v 3 test.txt #排除内容3 将test.txt中其余内容过滤出来。
#-A :除了显示匹配的一行之外,并显示该行之后的num行。after
#-B :除了显示匹配的一行之外,并显示该行之前的num行。before
#-C :除了显示匹配的一行之外,并显示该行之前后各num行。context
#-atime n :n为数字,意思为在n天之前的被access过的档案。
#-ctime n :n为数字,意思为在n天之前的被change过的档案。
#-mtime n :n为数字,意思为在n天之前的被modification过的档案。
#-newer file:file为一个存在的档案,意思是说:只要档案比file还要新,就列出来。
#-n :对匹配的内容打印行号。
#-i :不区分大小写。
#-o :只显示匹配到的内容,而不是按行显示。
#-c :计算找到‘搜索字符串’的次数。
grep 20 –A 10 aa.txt :取aa.txt第20-30行的内容。
grep  --color=auto  3306  /etc/services :会将过滤出来的3306加颜色
grep  -E  “3306|1521”  /etc/services :同时过滤多个,中间用|隔开。等同于egrep
grep  “\\boldboy\\b”  aa.txt:搜索oldboy单词的所在行,\\b是划定单词边界。oldboy2这样的内容不会被过滤出来。
grep  -w  “oldboy”  aa.txt:相当于上边的命令,按单词搜索,指定了单词的边界

39. sed

  • 简述:stream editor 流编辑器,实现对文件的增删改查加替换,编辑行比较在行。
sed  –n  ’20,30’p  ett.txt #查文件20到30行的内容。-n为取消默认输出,只输出想要的,p表示打印。
sed  ‘s#aa#bb#g’  test.txt:
# s表示查找并替换。
# g表示对当前行全局替换。
# #1#2#:位置1表示要替换的内容,位置2表示要替换成什么内容。
#以上写法只输出时会修改,不会修改文件。加-i修改文件内容。
# -e 允许多项编辑
#后向引用:
sed –nr  ‘s#()()#\\1\\2#gp’  file #第一个小括号匹配的内容用\\1输出,第二个可以用\\2输出。
#其中-r是可以使用特殊字符,不用转义。
#比如:I am oldboy linux  要匹配oldboy则可以:sed –nr ‘s#^.*m (.*) l.*$#\\1#gp’  filename则会输出oldboy。也就是将小括号匹配的内容输出了。
sed  ‘2a  liuyi,liuli’  test.txt #a表示在第几行之后追加内容。
sed  ‘2i  liuyi,liuli\\ntest1test2’  test.txt #i表示在第几行之前追加内容。\\n是换行,也就是多行追加。
sed  ‘2,3d’ person.txt #删除第 二行和第三行。
sed  ‘2c  liuyi’  test.txt #新行取代旧行。
sed  ‘1,3s#C#--&--#g’ test.txt # &表示要被替换的内容,此句表示在匹配的C字符两边加内容。

40. awk

  • 简述:模式扫描和处理,过滤,输出内容,是一门语言,可以处理数据和生成报告。
awk  ‘NR>19&&NR<31’  ett.txt #取出ett.txt中20到30行的内容。NR表示行。
ls –l|awkif($2>1) print $0# $1第一列,$2第二列,$0标识行,$NF标识最后一列。
awk  –F  “[:  ]+”  ‘NR==1 print $2,$NF’ /etc/passwd # 以:和空格两个分隔符进行分隔
# NF:代表浏览记录的域的个数,1:2:3:4 用-F “:” 分割之后 NF=4
# $NF:代表最后一列
# ~:用来匹配后边的正则表达式,告诉awk后边开始是正则语法,正则语法用//包裹
# FNR:同时查看多个文件行时,可以每个文件单独显示行号
  • awk的匹配模式或者匹配条件可以是:
    正则表达式
    条件表达式(NR>=2)
    范围表达式:
    (NR2,NR5)2行到5行,左右闭合。
    正则表达式-开始/,/正则表达式-结束/ 行,记录
  • awk区域:FS刀分隔的,FS是区域分隔符(行分隔)。
  • awk记录:RS刀分隔的,RS是记录分隔符(列分隔)。
  • FS:NF 区域的数量
  • RS:NR 记录号,随着记录的增加NR自动+1
  • BEGIN模块
    它在awk读取文件之前就执行,一般用来定义我们的内置变量(预定义变量FS,RS等)
  • END模块
    它在awk读取完所有文件时,再执行END模块,一般用来输出一个结果(累加、数组结果等)。
awk ‘/^$/a=a+1ENDprint a’ a.txt #输出文件空行的数量
  • awk内置变量(预定义变量)


41. uname

  • 简述:打印系统信息。
uname –m #查看系统是32还是64
uname –a #查看系统版本信息
uname –r #查看内核版本
uname –n #查看主机名  相当于hostname命令,hostname  liuyi 设置主机名(临时生效)
cat /etc/redhat-release #查看系统版本

42. ifconfig

  • 简述:配置网络
ifconfig #可以查看网络配置信息,ip地址等
ifconfig eth0 #查看指定网卡的配置信息。

43. shutdown/halt/init 0

  • 关机
shutdown –h now #立即关机  
shutdown –h +10 #表示10分钟后关机
halt #关机
init 0 #关机
  • 重启
reboot #重启
init 6 #重启
shutdown –r now #立即重启

44. --color=auto

  • 加颜色方便查看,经常用,因此我们可以加入别名。
vi /etc/profile #编辑环境变量,把grep的别名加入进去。
# Shift+g 跳转至最后一行,按o在下一行插入: alias grep=’grep –color=auto’ 
# 然后按esc退出编辑模式按:wq保存并退出,然后我们重新登录使其生效。Ctrl+d退出登录。
# 然后我们再次执行grep 3306 /etc/services 不用加入—color=auto也会出颜色了。

45. chkconfig

  • 功能:设置系统服务在哪些运行级别开机启动,可以用来更新或查询。更新后需重新登陆可生效。
  • 原理:将对应运行级别的目录下创建一个软连接,此处参考第二关考试题第8题。
chkconfig --list #查看所有的系统服务在各自运行级别的启动情况。
chkconfig --list sshd #查看sshd服务在各运行级别中的启动情况。
[root@liuyipc ~]# chkconfig --list sshd
sshd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
chkconfig  sshd  on #默认是2345级别开机自启动。
chkconfig  --level  3  sshd  off #把3级别的sshd服务下次开机关闭。
chkconfig  --add  test  #假设test是我们写的一个脚本,放在/etc/init.d/下面,如果要纳入chkconfig管理,则需要在test文件开头加入:
# chkconfig: 2345 55 25   #-->可变
# description: SSH is a protocol for secure remote shell access. \\
#             This service starts up the OpenSSH server daemon.
  • 那么要把一个脚本纳入chkconfig管理,有四步:
    – 1、把脚本放入/etc/init.d/下面
    – 2、赋予可执行权限 +x
    – 3、文件开头有上面的红色的标识。
    – 4、用chkconfig –add 进行添加。

46. tar

  • 简述:压缩和解压缩

47. 用户操作

  • 添加用户
useradd  liuyi #添加用户(更改4个用户文件)(/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow)
#-u 指定uid,比如 useradd  -u  504  liuyi
userdel  liuyi #删除用户(更改4个用户文件)
userdel  -r  liuyi #删除家目录
passwd  liuyi  #回车后会让输入两遍密码。(/etc/shadow)
echo “123456”|passwd  --stdin liuyi #非交互式设置密码
tail -1 /etc/passwd #可以查看刚添加的用户信息
su  -  liuyi  #切换到用户。一定要加横线
su  -  #切换到root下,需要输入root密码
su  –  liuyi  –c  pwd #切换到用户下执行一下命令再返回来,可以开机以某个用户执行下命令。
sudo #提权
visudo #编辑sudo配置文件,会检查语法。相当于vi  /etc/sudoers 但这个不检查语法
visudo  -c #检查语法
whoami #查看当前用户
  • 添加组、用户等
groupadd  incahome #新添加一个组。-g 可指定组id。(/etc/group)
groupdel  incahome #删除用户组
useradd  liuyi  -g  incahome #添加用户并指定组
usermod  -g  liuyi  incahome #修改用户组
chage #查看账户过期信息的,修改密码期限等。(/etc/shadow)
chage  -l liuyi #查看用户期限信息
chage  -E  liuyi #设置账户过期日期,日期写法MM/DD/YY
id  liuyi #查看用户id组id等信息。
chown liuyi.incahome /test/liuyi/test.sh #root下对文件更改属主和属组。
chmod  g+w  /test/liuyi/test.sh #g+w表示group加如写权限。o+w则表示other加入写权限等。

注意:root切换到普通用户下面,无需输入对应用户密码。
普通用户切换到root下,需要输入root密码。

  • 删除用户经验
    企业处理一般的方法:
vi  /etc/passwd #注释掉用户,观察1个月,出问题可以还原。
#把登录shell改成/sbin/nologin
#openldap(类似活动目录)帐号统一管理的,ldap库里干掉用户,所有服务器全部都没了

48. linux三剑客正则表达式

  • 只适用于grep(egrep),sed,awk 。对其余命令不适用。
^   以...开头,^d,意思是以d开头进行匹配。
$   以....结尾,/$,意思是以/结尾进行匹配。
^$  空行
\\   让原本有意义的字符脱掉马甲,还原它本身的含义,转义。
.    代表任意一个字符。
.*    代表所有。*代表0个或多个
[abc]  匹配含有a或者b或者c的内容。[0-9]或者[a-z]
[^abc]  匹配不包含a并且不包含b并且不包含c的内容。相当于取反。
a\\n,m\\  匹配至少有n到m次a字符的内容。
a\\n,\\  匹配至少n次a字符的内容。
a\\,m\\  匹配内容至多有m次a字符的内容。
a\\n\\  重复n次,如果用egrep或者sed –r可以去掉斜线。
+  表示重复“一个或多个”前面的字符(*是0个或多个)
?  表示重复0个或1个前面的字符(.是有且只有1个)
|  表示同时过滤多个字符
() 分组过滤,后向引用。 比如 grep –E “g(aa|oo)d”  aa.txt
  • 可以man grep查找正则表达式内容。

49. wc

  • 简述:总数
wc  -l  /etc/services #显示总行数。lines
wc  -L  /test/aa.txt #显示最大行的字符数

50. stat

  • 简述:查看文件的属性
stat  /etc/hosts #查看hosts文件的属性。

51. dumpe2fs

  • 查看文件系统inode总量以及剩余量
[root@liuyipc ~]# dumpe2fs  /dev/sda1|grep -i "Inode size"  
dumpe2fs 1.41.12 (17-May-2010)
Inode size:               128

52. df

  • 简述:查看文件系统磁盘空间。
    – 查看文件系统inode总量以及剩余量
[root@liuyipc ~]# df -i
Filesystem     Inodes   IUsed   IFree    IUse%   Mounted on
/dev/sda3      479552  55867  423685   12%   /
tmpfs          127037     1  127036    1%    /dev/shm
/dev/sda1       51200    38  51162     1%     /boot

– 查看磁盘的使用量,人类可读。

[root@liuyipc ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       7.1G  1.5G  5.3G  22% /
tmpfs           497M     0  497M   0% /dev/shm
/dev/sda1       190M   36M  145M  20% /boot

– 查看当前挂载的文件系统

df  -hT

– 查看挂载也可以用

cat  /proc/mounts

– 查看分区

cat  /porc/partitions

53. du

  • 简述:查看文件和目录大小
du –h  /test #以人类可读方式查看test目录及子目录大小
du –s  /test #查看test目录总的大小。
du  --max-depth=1  -h  / #深度为1,-h为人类可读。

54. last

  • 简述:查看用户登录信息。

55. lastlog

  • 简述:显示最近登录的用户信息。对应/var/log/lastlog数据文件。

56. file

  • 简述:查看文件类型
file  test.txt

57. id

  • 简述:查看用户的uid和gid
id #查看当前用户的uid和gid
id  liuyi #查看liuyi用户的uid和gid

58. date

  • 简述:设置或查看日期等
date  –s  “2016/05/04  10:30” #设置时间
date  +%y-%m-%d #以2016-05-04这种格式输出日期  其余格式变量用man或help查看

59. whereis

  • 简述:查找命令的帮助、源代码、-b参数查找二进制文件路径

60. locate

  • 简述:通过名称查找文件,智能查updatedb库里的
  • 它从/var/lib/mlocate/mlocate.db查找路径。

61. which

  • 简述:查看二进制命令的所在路径。从PATH变量所在的路径进行查找。
which  ls  #查找ls命令的路径。

62. readlink

  • 查看软链接的值
readlink  软链接的文件名 #可以读取出源文件名。

63. ln

  • 设置链接文件,分为硬链接和软链接(符号连接)。
ln 源文件  目标文件 #直接创建链接为硬链接。
ln –s 源文件  目标文件 #创建的为软链接。

64. rename

  • 简述:重命名文件
[root@liuyipc test]# ls
file1.txt  file2.txt  file3.txt  file4.txt  file5.txt
[root@liuyipc test]# rename "file" "aa"  *
[root@liuyipc test]# ls
aa1.txt  aa2.txt  aa3.txt  aa4.txt  aa5.txt

65. basename

  • 简述:取文件名,可以去除前边路径,也可以去除扩展名。
[root@liuyipc test]# basename  /test/aa1.txt 
aa1.txt
[root@liuyipc test]# basename  /test/aa1.txt  .txt
aa1

66. dirname

  • 简述:取路径
[root@liuyipc test]# dirname  /test/aa1.txt
/test

67. md5sum

  • 简述:生成和查看md5值
md5sum  aa.txt #生成md5值,软链接和硬链接和源文件的md5值是一样的。
md5sum  aa.txt >md5.log。
md5sum  -c  md5.log #校验,成功会提示成功,若文件修改,则会提示不匹配。

68. chown

  • 简述:修改文件或目录的属主或属组。冒号可以用“.”代替。
chown  用户  文件或目录 #仅授权用户
chown  :组   文件或目录 #仅授权组,相当于 “chgrp  组  文件或目录”(chgrp基本不用了)
chown  用户:组   文件或目录 #授权用户和组
chown  -R  用户:组  目录 #如果后边接的是目录,并接了R参数,则会递归修改目录下所有文件和目录。

69. chmod

  • 简述:更改及设置文件对应权限。

70. chattr

  • 简述:改变文件的扩展属性,仅root用户可以使用。
chattr  +a  test.txt #设置文件只能追加。设置后,不能删除不能清空。
chattr  +I  test.txt #给文件加锁,不能追加删除清空,仅能查看。

71. lsattr

  • 简述:查看文件的扩展属性
  • 普通文件的属性如下;
[root@liuyipc test]# lsattr 2.txt 
-------------e- 2.txt

72. umask

  • 简述:控制文件默认权限

73. useradd

  • 简述:添加用户
-c :指定注释。test:x:503:501:注释:/home/test:/bin/bash
-d :指定家目录。test:x:503:501::/home/test:/bin/bash
-e :指定过期时间,格式为MM/DD/YY 给公司员工帐号一般会用到
-g :指定用户组。
-G :指定用户属于多个组。
-M :不建立家目录。
-s :指定shell。test:x:503:501::/home/test:/bin/bash
-u :指定UID。

74. userdel

  • 简述:删除用户
userdel  –r 用户 #删除此用户的家目录,删除后属主和数组会显示数字 504等,
#此时可以用useradd –u指定回来。useradd  –u  504  用户

75. chattr

  • 简述:改变文件属性,最大用途可以给文件加锁
chattr  +i  /etc/passwd #锁住此文件了。
lsattr  /etc/passwd #查看会有各i属性

76. crontab

  • 简述:设置定时任务
crontab  -e #会进入编辑模式,写任务即可。
#比如 * * * * * echo ‘”liuyi” >>/test/aa.txt 每分钟打印。

77. 特殊环境变量

  • 设置环境变量用export,临时生效。
export  PATH=$PATH:$HOME/bin:/sbin
#想要永久生效,将上边的命令放入profile文件
  • PATH
    简述:所有命令的路径所在地,用冒号分隔。
  • LANG
    简述:字符集变量。

78. uuid

  • cat /proc/sys/kernel/random/uuid:获取uuid

79. w

  • 简述:显示谁登录了和他们在做什么

80. who

  • 简述:显示谁登陆了

81. last

  • 简述:显示用户登录历史列表,会查/var/log/wtmp

82. lastlog

  • 简述:显示所有用户最近登录的情况,读/var/log/lastlog

83. paste

  • 简述:粘帖,合并文件
paste  /data1   /data2  >>/data3  #合并data1和data2文件内容到data3中

84. ethtool

  • 简述:查看网卡信息
ethtool  eth0

85. dd

  • 简述:创建一定大小的文件
  • 参数
if =输入文件(或设备名称)
of =输出文件(或设备名称)
bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)
count = blocks 只拷贝输入的blocks块
  • 示例
dd  if=/dev/zero  of=hello.txt  bs=100M  count=1 #创建一个100M的文件。
#将本地的/dev/hdx整盘备份到/dev/hdy :dd if=/dev/hdx of=/dev/hdy

86. /dev/zero和/dev/null

  • /dev/zero,是一个输入设备,你可你用它来初始化文件。
  • /dev/zero------该设备无穷尽地提供0(是ASCII 0 就是NULL),可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入NULL
    /dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,就像临时交换文件
  • /dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
  • /dev/null------它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。
    把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用
    禁止标准输出. cat $filename >/dev/null --文件内容丢失,而不会输出到标准输出
    禁止标准错误 rm $badname 2>/dev/null --这样错误信息[标准错误]就被丢到太平洋去了

87. mkfs

  • 简述:在特定的分区上创建linux文件系统,也就是格式化操作。
mkfs.xfs  /etc/sdc #在sdc上创建xfs文件系统。
mkfs  -t  ext4  -b 4096  -I  256  /dev/sdb1 #参数-I是大写的,讲sdb1格式化为ext4。

88. mkswap

  • 简述:格式化swap分区

89. swapon/swapoff

  • 简述:使用swap分区的命令。
swapon  /dev/sdb1

90. mount、umount

  • 简述:挂载命令/卸载命令,可以挂载/卸载镜像文件、移动硬盘、u盘、网络共享等等。
  • 语法:mount [-t vfstype] [-o options] device dir
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
device 要挂接(mount)的设备。
dir设备在系统上的挂接点(mount point)。
  • 示例:
技术分享 | 9个常用Linux命令详解

干货:5个文件目录操作相关Linux命令详解

干货21个常用Linux命令及使用案例详解

21个企业级常用Linux命令及使用案例详解

21个常用Linux命令及使用案例详解

21个常用Linux命令详解及使用案例