linux指令(2)

1)获取历史操作命令:

"!<history指令编号>”即可运行相应命令

[root@server1 ~]# history
..............
1011 uname -s
1012 uname -n
1013 uname -m
..............
1018 history
[root@server1 ~]# !1012
uname -n
server1

" !! " 是重新运行上一条命令的意思。

2)cd命令:

cd 返回home目录

cd ~ 返回home目录

cd - 返回上次的目录

 (~ 主目录
. 当前目录
.. 父目录)

3)login shell和startup的bash configuration file的加载顺序:

/etc/profile

然后按照下面的顺序,第一个被找到的文件将被调用,后续的即使存在也被跳过:

~/.bash_profile

~/.bash_login

~/.profile

接着.bashrc,和/etc/bashrc被调用。

例如:/etc/profile ==> .bash_profile ==> .bashrc ==> /etc/bashrc

注:/etc/profile.d (location of extra environment setup scripts)

4) 磁盘和文件系统:

fdisk:输出设备的所有分区内容和操作分区(删除,新增)
lsblk: 查看的是block device,也就是逻辑磁盘大小。
df:查看的是file system, 也就是文件系统层的磁盘大小。
du:评估文件系统的磁盘使用量(常用在估计目录所占磁盘容量)

#fdisk -l
#df -i
#df -h
#df -x tmpfs -x devtmpfs

root@Ubuntu01:~# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   64G  0 disk
├─sda1    8:1    0 63.9G  0 part /
├─sda14   8:14   0    4M  0 part
└─sda15   8:15   0  106M  0 part /boot/efi
sdb       8:16   0    4G  0 disk
└─sdb1    8:17   0    4G  0 part /mnt
sdc       8:32   0   64G  0 disk

 

5) $()命令

$(commond)

把命令中某个子命令替换为其执行的结果,并利用该替换结果。

(注:``反引号命令(即`commond`)有类似的功能 ;注意不是单引号‘’

 例如:

root@Ubuntu01:~# docker rm -v $(docker ps -aq)

另外一种用法:"$"后紧跟变量variable:
$echo $variable
或者$echo ${variable}

6) &,&&,与||:

& 放在启动参数后面表示设置此进程为后台进程:
默认情况下,进程是前台进程,会把Shell占据,无法进行其他操作;对于那些没有交互的进程,可以将其在后台启动,只需在启动参数的时候加一个'&'实现这个目的.

&&(命令执行控制) 
语法格式如下: 
  command1 && command2 [&& command3 ...]

命令之间使用 && 连接,实现逻辑与的功能。
只有在 && 左边的命令返回真,&& 右边的命令才会被执行。 只要有一个命令返回假,后面的命令就不会被执行。

参见:

https://www.cnblogs.com/wwwfj/p/4597261.html

https://www.cnblogs.com/gotodsp/p/6390011.html

8) ; 命令分隔符

这里注意,用 ; 分隔命令时,即使第一个命令失败,第二个命令也会运行,即使第二个命令失败,第三个命令也会运行,依此类推。

9) ps指令:

按cpu利用率对ps排序:
# ps aux --sort pcpu
按mem利用率对ps排序:
# ps aux --sort rss
# ps aux --sort pmem

原文地址:https://www.cnblogs.com/bjtime/p/10186017.html