Linux常用命令(一)

6 篇文章 0 订阅
1.shell

在计算机中,shell俗称壳(用来区别于核),基本上是一个命令解释器,接收用户指令。

2. bash

bash就是一种Linux默认的shell,它解释用户输入的字符串(空白符切割,第一个元素作为命令),判断是内部或外部指令,如果是内部命令直接执行,如果是外部命令,在$PATH(环境变量)中给定的目录中从左到右寻找该指令。总之,bash是一个解释器、执行器。

3. type
[root@node01 ~]# type -a ifconfig
ifconfig is /sbin/ifconfig

表示ifconfig这个命令程序所在位置;type可以看出当前命令是内部OR外部命令,例如:

[root@node01 ~]# type cd
cd is a shell builtin

builtin表示内部命令。输入help回车,可以查看所有的内部命令;

4. file
[root@node01 ~]# file /sbin/ifconfig
/sbin/ifconfig: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

检查当前外部命令是什么类型的文件,从返回的内容中可以看出,ifconfig是一个二进制程序(ELF表示Linux系统中的二进制程序),类似于windows中的.exe程序;

5. man

查看某个命令的帮助文档,如果执行提示没有找到该指令,可以通过yum install man来进行安装(一般使用yum install man-pages安装,可以将man相关指令集全部安装);
外部命令分为8类:

  • 1.用户命令
  • 2.系统调用
  • 3.库用户
  • 4.特殊文件(设备文件)
  • 5.文件格式(配置文件的语法)
  • 6.游戏
  • 7.杂项(Miscellaneous)
  • 8.管理命令(/sbin,/usr/sbin,/usr/local/sbin)
6. help

可以通过help查看内部命令的帮助文档,直接输入help回车,能显示所有内部命令;

7. yum

是一个Python脚本语言,解释执行指令集;

8. df

查看文件系统分区
文件系统层次化标准:

  • /boot:系统启动相关的文件,如内核、initrd,以及grub(bootLoader);
  • /dev:设备文件;
  • /etc:配置文件;
  • /home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME;
  • /root:管理员的家目录;
  • /lib:库文件
  • /media:挂载点目录,移动设备
  • /mnt:挂载点目录,额外的临时文件系统
  • /opt:可选目录,第三方程序的安装目录
  • /proc:伪文件系统,内核映射文件
  • /sys:伪文件系统,跟硬件设备相关的属性映射文件
  • /tmp:临时文件,/var/tmp
  • /var:可变化的文件
  • /bin:可执行文件,用户命令
  • /sbin:管理命令
9. ls -l

文件类型:

  • -:普通文件(f);
  • d:目录文件;
  • b:块设备文件(block)
  • c:字符设备文件(character);
  • l:符号链接文件(symbolic link file);
  • p:命令管道文件(pipe);
  • s:套接字文件(socket);
10. mkdir

一次创建多个目录

[root@node01 ~]# mkdir -p ./x/{a,b,c}
[root@node01 ~]# ll ./x
total 12
drwxr-xr-x. 2 root root 4096 Sep  6 05:52 a
drwxr-xr-x. 2 root root 4096 Sep  6 05:52 b
drwxr-xr-x. 2 root root 4096 Sep  6 05:52 c
11. ln

硬链接:

[root@node01 ~]# vi a
[root@node01 ~]# 
[root@node01 ~]# ln a b
[root@node01 ~]# 
[root@node01 ~]# ll
total 32
-rw-r--r--. 2 root root    6 Sep  6 05:59 a
-rw-------. 1 root root  900 Aug 20 02:08 anaconda-ks.cfg
-rw-r--r--. 2 root root    6 Sep  6 05:59 b
-rw-r--r--. 1 root root 8815 Aug 20 02:08 install.log
-rw-r--r--. 1 root root 3384 Aug 20 02:07 install.log.syslog
drwxr-xr-x. 5 root root 4096 Sep  6 05:52 x

以上是将b硬链接a,新创建的a中有内容”hello”,vi b打开发现也有同样的内容,此时修改任意一个文件内容,两边内容将保持同步。
查看一下a 和 b文件的inode号,发现a 和 b的索引号都是一样(有点类似java里面两个变量引用同一个对象),如果此时删除a或者b两者相互不影响,删除一个另一个还正常存在,并且注意-rw-r–r–. 2 这个链接数,在没有链接的时候显示为1,硬链接后显示为2,最后删除任意一个将会变为1:

[root@node01 ~]# ll -i
total 32
1966096 -rw-r--r--. 2 root root   13 Sep  6 06:02 a
1966089 -rw-------. 1 root root  900 Aug 20 02:08 anaconda-ks.cfg
1966096 -rw-r--r--. 2 root root   13 Sep  6 06:02 b
1966082 -rw-r--r--. 1 root root 8815 Aug 20 02:08 install.log
1966083 -rw-r--r--. 1 root root 3384 Aug 20 02:07 install.log.syslog
1966091 drwxr-xr-x. 5 root root 4096 Sep  6 05:52 x

软链接:

[root@node01 ~]# ln -s a c
[root@node01 ~]# ll
total 28
-rw-r--r--. 1 root root   13 Sep  6 06:02 a
-rw-------. 1 root root  900 Aug 20 02:08 anaconda-ks.cfg
lrwxrwxrwx. 1 root root    1 Sep  6 06:14 c -> a
-rw-r--r--. 1 root root 8815 Aug 20 02:08 install.log
-rw-r--r--. 1 root root 3384 Aug 20 02:07 install.log.syslog
drwxr-xr-x. 5 root root 4096 Sep  6 05:52 x

以上是将c软链接到a,此时修改任意一个文件两者都将同时修改,但是如果将a删除掉,c链接将找不到实体文件,ll查看的时候linux将会给出明显提示,这点是和硬链接的不同之处(有点类似windows中的快捷方式)。

12. stat

查看文件的元数据

[root@node01 ~]# stat profile 
  File: `profile'
  Size: 1796        Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d  Inode: 1966096     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-09-06 06:27:27.900118033 +0800
Modify: 2018-09-06 06:27:27.900118033 +0800
Change: 2018-09-06 06:27:27.900118033 +0800
13. touch

如果touch一个存在的文件,那么touch之后文件的元数据中access、modify和change时间都将会变为最新的,如果touch一个不存在的文件,那么将会创建它。

14. du

也是查看使用空间的,与df不同的是,du查看的是目录和文件的占用空间;

[root@node01 ~]# du -h 
4.0K    ./x/a
4.0K    ./x/c
4.0K    ./x/b
16K ./x
68K .

以上是查看当前目录及当前目录下子目录的大小,最后一个为目录及子目录的大小总和;

查看指定文件大小:

[root@node01 ~]# du -h profile 
4.0K    profile

查看指定目录大小:

[root@node01 ~]# du -h x
4.0K    x/a
4.0K    x/c
4.0K    x/b
16K x

查看多个文件大小:

[root@node01 ~]# du -h a profile 
0   a
4.0K    profile

查看总大小(-h转换为人可读的大小单位):

[root@node01 ~]# du -h -s
68K .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值