实用的 shell 命令
~
在 Linux 中代表用户主目录
- 对一般用户,~ 表示
/home/<用户名>
- 对于root用户,~ 表示
/root
|
|
cd
此命令代表改变目录。它在终端中改变工作目录来执行复制、移动、读、写等。
|
|
ls
此命令是列出目录内容(List Directory Contents),可能是文件也可能是文件夹。
ls -l
(long listing fashing)命令表示以详情模式列出文件夹的内容。
ls -a
命令列出文件夹里的所有内容,包括以 .
开头的隐藏文件。
|
|
- 第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。
- 第一个小格是特殊表示格,表示目录或连结文件等等,
- d表示目录,例如drwx——;
- l表示连结文件,如lrwxrwxrwx;
- 如果是以一横“-”表示,则表示这是文件。
- 其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是:
- rwx(Owner)r-x(Group)r-x(Other) 这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
- 第一个小格是特殊表示格,表示目录或连结文件等等,
- 第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
- 第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
- 第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
- 第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
- 第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
- 第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
颜色特征:
- 蓝色–>目录
- 绿色–>可执行文件
- 红色–>压缩文件
- 浅蓝色–>链接文件
- 灰色–>其他文件
mkdir
mkdir(Make directory)命令在命名路径下创建新的目录。如果目录已存在,则返回一个错误信息:cannot create folder, folder already exists.
|
|
目录只能在用户拥有写权限的目录下才能创建。在linux中,文件、文件夹、驱动、命令、脚本都视为文件。
touch
新建一个不存在的文件,或用来修改文件时间戳。
df du
- df读取的是超级块的内容
- du是将所有文件对象大小加起来
|
|
|
|
alias
用来设置指令的别名
|
|
查看系统版本
|
|
查看内核版本
|
|
|
|
cp – copy files
“copy”复制,此命令把文件从一个地方复制到另外一个地方。
|
|
rm
移除命令。可以用来删除文件和目录。
|
|
tar
解压tgz文件(使用tar打完包后再以gzip命令压缩的文件)
- -c Create a new archive containing the specified items. The long option form is –create.
- -x : 从 tar 包中把文件提取出来
- -z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解
- -v : Produce verbose output. 显示详细信息
- -f : 后面必须跟上要处理的文件名
|
|
安装好 zsh 和 oh-my-zsh 后,打开文件
code ~/.zshrc
plugins=(git z extract pyenv) extract 插件 文件解压用x
全搞定。z
强大的目录自动跳转命令
history
此命令记录历史记录。它显示在终端中所执行过的所有命令的历史。
kill
|
|
|
|
文件操作
|
|
ip
|
|
网络管理器(Network Manager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活。默认情况下,CentOS/RHEL 7安装有网络管理器,并处于启用状态。
|
|
CentOS 查看和修改 PATH 环境变量
|
|
export 命令
|
|
生效方法:立即生效 有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置 用户局限:仅对当前用户
修改 .bashrc 文件
|
|
生效方法
- 关闭当前终端窗口,重新打开一个新终端窗口就能生效
- 输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效 用户局限:仅对当前用户
修改 profile 文件
|
|
生效方法:系统重启 有效期限:永久有效 用户局限:对所有用户
修改environment文件
|
|
生效方法:系统重启 有效期限:永久有效 用户局限:对所有用户
nohup
nohup 指定命令在终端关闭后依然运行。
/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]。
在程序员行话,尤其是 Unix 行话中,/dev/null 被称为比特桶或者黑洞。
|
|
这样命令启动起来的 test.sh 会一直在后台运行直到被 kill。
& 用于后台执行程序,但是关闭当前 session 程序也会结束,配合 nohup 就不会结束
2>/dev/null 意思就是把错误输出到“黑洞”
>/dev/null 2>&1 默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
2>&1 >/dev/null 意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕
文件描述符 Linux系统预留可三个文件描述符:
0
标准输入(stdin)1
标准输出(stdout)2
标准错误(stderr)
重定向 重定向的符号有两个:
>
先清空文件,然后再写入内容>>
将重定向的内容追加到现有文件的尾部。
md5sum
md5sum 是计算和检验MD5信息签名。MD5 checksum 使用匹配验证文件的完整性。
|
|
uptime
此命令是用来查询linux系统负载的。系统平均负载(load averages)被定义在特定时间间隔内运行队列中的平均进程数。
如果一个进程满足以下条件,则其就会位于运行队列中:
- 它没有在等待I/O操作的结果
- 它没有主动进入等待状态(也就是没有调用’wait')
- 没有被停止(例如:等待终止)