Linux常用命令
start
脚本文件:
什么是shebang?
| #!/usr/bin/env sh //shebang,用于指定脚本解释器。表示使用env程序搜索路径找到脚本文件,同时使用shall解释器执行这个脚本文件。env即environment mkdir $1 //创建文件夹,文件夹名为代传参数.$1表示待传参数 cd $1 //进入到用户设置的文件夹中 touch index.html style.css main.js //创建三个文件
echo -e "<!DOCTYPE html>\n<h1>标题</h1>" >> index.html //设置index.html的内容
|
命令行操作:
| touch 脚本文件 //创建脚本文件(可以不设置扩展名) start 脚本文件 //使用默认软件打开(未设置扩展名时,此命令将执行失败) code 脚本文件 //使用vscode打开脚本文件 chmod +x 脚本文件 //为脚本文件添加可执行权限(Windows下此句无用途) ./脚本文件 test //执行脚本文件
/* 或者使用当前的shall解释器执行脚本文件 */ sh 脚本文件 test
/* 如果脚本文件中添加了shebang申明,同时将脚本文件路径加入到PATH环境变量中,也可以将脚本文件直接作为一个命令执行 */ 脚本文件 test
|
命令的本质是可执行脚本文件(可执行程序)。
使用which可以查看命令对应的可执行程序的位置
命令行增删该查
命令行缩写
| 命令 |
含义 |
命令 |
含义 |
| mk |
make |
ls |
list |
| mv |
move |
ln |
link |
| rm |
remove |
find |
find |
| cp |
copy |
cd |
change directory |
| pwd |
print work directory |
cat |
concatenate |
查:查看文件
pwd 查看文件目录绝对路径
(绝对路径是所有以/开头的路径。特例~也是绝对路径,它是/c/User/的缩写)
cat 查看文件的全部内容
head 查看文件开始的一部分内容 选项-n设置查看行数
tail 查看文件末尾的一部分内容 选项-n设置查看的行数
less 按页查看文件内容
ls 查看当前路径下的文件
-l 选项为长格式查看,包含文件日期等
增:创建文件
touch 创建空文件
echo [文件内容] > [文件名] 创建带内容的文件
echo [文件内容] >> [文件名] 为已存在的文件追加内容
-e 选项激活转移字符
mkdir 创建目录
-p 选项创嵌套目录
cp 复制文件
-r 选项复制文件夹
例:
| touch 1.txt //创建文件1.txt echo hi > 1.txt //创建文件1.txt。内容是“hi” echo hihi >> 1.txt //为1.txt增加内容“hihi” echo -e "1\n2" > 1.txt //创建1.txt。内容是“1(换行)2”.此命令的1.txt会覆盖之前的1.txt cp 1.txt 2.txt //将1.txt的内容复制到2.txt(如果2.txt不存在就创建一个和1.txt内容完全相同的2.txt) cp -r a b //将a文件夹的内容复制到b文件夹(若b文件夹不存在则创建b文件夹) mkdir a //创建a文件夹 mkdir -p a/b/c //创建a/b/c文件路径 touch 3.txt 4.txt //创建3.txt文件和4.txt文件 mkdir c d //创建c、d两个文件夹
|
删:删除文件
rm 删除文件
-r 选项删除文件夹
-rf 强制删除文件(夹)
改:对文件进行相应修改
追加文件内容
使用echo追加文件内容:
| echo hi > 1.txt //创建文件1.txt。内容是“hi” echo hihi >> 1.txt //为1.txt增加内容“hihi”
|
打开文件
用start 命令使用默认软件打开
清空文件内容
| echo '' > 1.txt //将1.txt内容清空(当1.txt本身不存在时,创建空文件1.txt)
|
移动文件目录
mv [文件] [文件夹/文件路径]
| mv 1.txt get-demo-1 //将1.txt移动到get-demo-1文件夹 mv mv get-demo-1/1.txt . //将get-demo-1中的1.txt移到当前目录
|
重命名文件
| mv 1.txt 2.txt //将1.txt文件名改为2.txt
|
更行文件的最后更新时间
| touch 1.txt //当1.txt存在时,此命令更新1.txt最新更新时间
|
脚本文件
| echo $? /* 如果上一题命令执行成功则返回0;如果失败则返回非0 */
|
只有当&&前一条命令执行成功,&&后一条命令才能执行。
| touch test.txt rm test.txt && echo $? /* 执行结果:0。 */
|
命令之间相互分开,各自执行各自的。不论其他命令是否执行成功,每条命令都执行。