linux shell 命令

Posted by 果然 on December 31, 2021

linux 是一种自由和开放源码的类 unix 操作系统。
shell 是一个用 C 语言编写的程序,是用户使用 linux 的桥梁。shell既是一种命令语言,又是一种程序设计语言。

软链接

功能:为某一个文件在另一个位置建立一个同步的链接。

【硬链接】
允许一个文件拥有多个有效路径名,这样用户可建立硬链接到重要文件,防止”误删”功能。
这是因为文件真正的删除条件是与之相关的所有硬链接文件均被删除。

【软链接(Symbolic link)】
类似于 windows 的快捷方式。实际上是一个特殊的文件。
在符号连接中,文件实际上是一个文本文件,其中包含的有另一个文件的位置信息。

【使用方式】

ln -s /var/www/test test              # 当前路径创建test  引向/var/www/test 文件夹
rm -rf test                           # 删除 test
ln -snf /var/www/test1 /var/test      # 修改指向的新路径,即/var/test 指向 /var/www/test1

tar

功能:为 linux 的文件和目录创建档案(备份文件),也可以在档案中改变文件或向档案中加入新的文件。
区分:打包与压缩
打包:指将一大堆文件或目录变成一个总的文件
压缩:指将一个大的文件通过一些压缩算法变成一个小文件

tar(选项)(参数)  
  
-v: 显示指令执行过程  
-z: 通过 gzip 指令处理备份文件  
-x: 从备份文件中还原文件  
-f: 指定备份文件

chmod(change mode)

功能:控制用户对文件的权限命令
linux/unix的文件调用权限:文件所有者(owner)、用户组(Group)、其他用户(other users)。

控制权限

# 语法
chmod [-cfvR] [--help] [--version] mode file ...
# 参数
[ugoa...] [[+-=] [rwxX]...][...,]

说明:

  • u 表示该文件的拥有者,g表示与该文件拥有者属同一个群体者,o表示其他以外的人,a表示这三者皆是
  • + 表示增加权限,- 表示取消权限,= 表示唯一设定权限
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行

-c:若该文件权限确定已经更改,才显示其更改动作
-f:若文件权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对当前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

文件颜色说明

蓝色表示目录
绿色表示可执行文件,可执行程序
红色表示压缩文件或包文件
浅蓝色表示链接文件
灰色表示其他文件
黄色表示设备文件
chmod +x 同 chmod a + x,一般无明确要求,可用 chmod +x

chown(change owner)

功能:用于设置文件所有者与文件关联组的命令
利用 chown 将指定文件的拥有者改为指定的用户或组。

# 语法
chown [-cfhvR] [--help] [--version] user[:group] file...

参数说明:

  • user:新的文件拥有者的使用者ID
  • group:新的文件拥有者的使用者组(group)
  • -c: 显示更改的部分的信息
  • -f: 忽略错误信息
  • -h:修复符号链接
  • -v: 显示详细的处理信息
  • -R:处理指定目录以及其子目录下的所有文件

例:把 /var/run/httpd.pid 的所有者设置 root:

chown root /var/run/httpd.pid

sh脚本文件

(1)单引号不取变量值
(2)双引号取变量值
(3)反引号`,执行引号中命令
(4)双引号内部嵌套单引号,取出变量值
(5)单引号内部嵌套双引号,不取出变量值

#!/bin/bash
do_date=$1
echo '$do_date'
echo "$do_date"
echo "'$do_date'"
echo '"$do_date"'
echo "===日志日期为 $do_date==="
echo `date`

执行结果

test.sh 2019-02-10

$do_date
2019-02-10
'2019-02-10'
"$do_date"
2019年 05月 02日 星期四 21:02:08 CST