超详细的Shell命令大全
文章目录
- / 前言 /
- / 1 / 基础语法
- 1 . 1 拷贝
- 1 . 2 剪切/重命名文件/文件夹
- 1 . 3 创建文件
- 1 . 4 创建文件夹
- 1 . 5 删除文件/文件夹
- 1 . 6 更改权限
- 1 . 6 . 1 chmod ( 修改文件读写权限 )
- 1 . 6 . 2 chown ( 修改文件所有者 )
- 1 . 7 查看文件大小
- 1 . 7 . 1 ( ll / ls -l 命令 )
- 1 . 7 . 2 ( wc 命令 )
- 1 . 7 . 3 ( stat 命令 )
- 1 . 7 . 4 ( du 命令 )
- / 2 / if 判断
- / 3 / 循环
- 3 . 1 for循环
- 3 . 1 . 1 for (( i=0 ; i < length ; i++ ))
- 3 . 1 . 2 for item in (1,2,3,4)
- 3 . 1 . 3 for num in `seq 1 5`
- 3 . 2 while循环
- 3 . 3 循环控制命令
- 3 . 3 . 1 break ( 结束循环 )
- 3 . 3 . 2 continue ( 跳过本次循环进入下一次循环 )
- / 4 / Linux中好用的软件包
- 4 . 1 Tree
/ 前言 /
持续更新中 . . .
/ 1 / 基础语法
1 . 1 拷贝
# 将a.txt中的内容拷贝到b.txt中
cp a.txt b.txt# 将file文件复制到/path路径下
cp file /path/file# 将path路径下所有文件拷贝到newPath下
cp -a path newPath# 覆盖既有文件之前先询问用户
cp -i a.txt /path/a.txt# 覆盖已存在的文件目标前将目标文件备份
cp -b a.txt /path/a.txt# 强行复制文件/目录, 不管文件/目录是否存在
cp -f a.txt /path/a.txt
1 . 2 剪切/重命名文件/文件夹
# 将文件移动到指定路径下
mv <参数> file /path/file# 参数
-b : 当文件存在时, 覆盖前, 为其创建一个备份
-f : 若目标文件或目录与现有的文件或目录重复, 则直接覆盖现有的文件或目录
-i : 覆盖前先行询问用户
-u : 当源文件比目标文件新或者目标文件不存在时, 才执行移动操作
1 . 3 创建文件
# 1
touch test.txt
# 2
vi test.txt
1 . 4 创建文件夹
mkdir <参数> file
# 参数
-p : 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限
1 . 5 删除文件/文件夹
语法
rm <参数> file# 参数
-f : 强制删除文件或目录
-i : 删除文件或目录时先询问用户
-r : 删除当前目录下所有文件
示例
# 强制删除目录
rm -rf /path # 强制删除文件
rm -f file
1 . 6 更改权限
1 . 6 . 1 chmod ( 修改文件读写权限 )
语法
chmod <参数> 文件# 参数
-R : 修改当前目录下所有文件的权限
-v : 显示执行过程
示例
# 将path目录下所有文件权限改为可写可读可执行
chmod -R 777 /path
# 修改当前目录下所有后缀为.java的文件权限
chmod 777 *.java# 修改文件的权限为可读
chmod 2 file# 修改文件的权限为可写
chmod 4 file# 修改文件的权限为可执行
chmod 1 file# 修改文件的权限为没有任何权限
chmod 0 file
1 . 6 . 2 chown ( 修改文件所有者 )
只有文件所有者或管理员才可以使用此命令
语法
chown <参数> 用户 文件# 参数
-R : 将当前目录下所有文件的所有者都改为指定用户
-v : 显示执行过程
示例
chown -R es /elasticsearch
1 . 7 查看文件大小
1 . 7 . 1 ( ll / ls -l 命令 )
[root@localhost src]# ll
-rw-r--r-- 1 root root 98 6月 24 10:01 test.txt
98就是文件大小
1 . 7 . 2 ( wc 命令 )
语法
wc <参数> 文件# 参数
-c(--bytes/--chars) : 只显示Bytes数
-l(--lines) : 只显示列数
-w(--words) : 只显示字数
示例
[root@localhost src]# wc -c test.txt
98 test.txt
1 . 7 . 3 ( stat 命令 )
语法
stat <参数> 文件# 参数
-L : 支持符号连接
-f : 显示文件系统状态而非文件状态
-t : 以简洁方式输出信息
示例
[root@localhost src]# stat test.txt文件:"test.txt"大小:98 块:8 IO 块:4096 普通文件
设备:fd02h/64770d Inode:403222111 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2020-06-24 10:05:52.772435759 +0800
最近更改:2020-06-24 10:01:07.291855652 +0800
最近改动:2020-06-24 10:01:07.292855685 +0800
1 . 7 . 4 ( du 命令 )
语法
du <参数> <文件># 参数
-b(-bytes) : 显示目录或文件大小时,以byte为单位
-k(--kilobytes) : 以KB(1024bytes)为单位输出
-m(--megabytes) : 以MB为单位输出。
-h(--human-readable) : 为输出数据添加单位(K,M,G)
示例
[root@localhost src]# du -b test.txt
98 test.txt
[root@localhost src]# du -h test.txt
4.0K test.txt
/ 2 / if 判断
语法
if [ 条件 ];then
elif [ 条件 ];then
else
finum=3
if [ $num = 1 ];thenecho "first"
elif [ $num = 2 ];thenecho "second"
else echo "other"
fi
符号
-eq : 等于(=)
-nq : 不等于(!=)
-gt : 大于(>)
-lt : 小于(<)
-ge : 大于等于(>=)
-le : 小于等于(<=)
-z : 字符串的长度是否为0, 使用方式为 [ -z “字符串” ]
-n : 字符串的长度是否大于0 ,使用方式为 [ -n “$STRING’”], 如果是变量外围一定要有双引号
""
/ 3 / 循环
3 . 1 for循环
3 . 1 . 1 for (( i=0 ; i < length ; i++ ))
array=(1,2,3,4)
for ((i=0;i<${#array[@]};i++))
do echo "${array[i]}"
done
3 . 1 . 2 for item in (1,2,3,4)
array=(1,2,3,4)
for item in ${array[*]}
do echo "${item}"
done
3 . 1 . 3 for num in seq 1 5
for num in `seq 1 5`
do echo $num
done
3 . 2 while循环
# 正常循环
num=1
while [ $num -gt 0 ]
do echo "num > 0"num=`expr $num - 1`
done# 无限循环
while [ 1 ]
do echo "死循环"
done
3 . 3 循环控制命令
3 . 3 . 1 break ( 结束循环 )
num=1
while [ $num -lt 10 ]
do if [ $num -gt 5 ];thenbreakfinum=`expr $num + 1`echo $num
done
3 . 3 . 2 continue ( 跳过本次循环进入下一次循环 )
for ((i=0;i<5;i++))
do if [ $i -eq 2 ];thencontinuefiecho $i
done
/ 4 / Linux中好用的软件包
4 . 1 Tree
Tree命令并不是Centos自带的命令, 需要安装
Tree命令会将当前目录下所有文件及文件夹以树状结构进行展示
效果
.
├── test.txt
└── wise└── wisetest.txt1 directory, 2 files
安装
yum install tree -y
超详细的Shell命令大全相关推荐
- Linux 学习笔记之超详细基础linux命令 Part 3
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...
- EasyClick adb shell命令大全
EasyClick adb.shell命令大全目录 EasyClick adb.shell命令大全 ADB包安装步骤 使用教程 ADB高级命令 Android 常用的Linux命令 Android a ...
- ubuntu shell命令大全
原文地址:ubuntu shell命令大全 作者:sun5411 转自:http://blog.chinaunix.net/uid-22330495-id-141752.html 前言 下面的命令大都 ...
- linux命令 final,shell 命令大全先贴一下FinalShell程序的官方网
shell 命令大全 如果你的操作系统是 Windows,而你想要连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件.实际上,SSH 是一个网络协议, ...
- Windows常用shell命令大全
From: http://blog.csdn.net/yunzhongfeiniao/article/details/6564577 基于鼠标操作的后果就是OS界面外观发生改变,就得多花学习成本.更主 ...
- ubuntu退出shell终端命令_ubuntu shell 命令大全
下面的命令大都需要在 控制台 / 终端 / shell 下输入. 控制台, 终端, 和 shell 意味着同样一件事 - 一个命令行界面, 他可以用来控制系统. 打开一个控制台: 应用程序 --&g ...
- Android ADB Shell命令大全
原文链接: http://blog.csdn.net/zkdemon/article/details/7033800 apktool反编译工具:http://download.csdn.net/det ...
- Awesome Adb——一份超全超详细的 ADB 用法大全【转】
本文转载自:https://juejin.im/entry/57c00fe4c4c971006179838a ADB,即 Android Debug Bridge,它是 Android 开发/测试人员 ...
- Linux系统学习 超详细常见实用命令
文章目录 常见目录介绍 系统操作 帮助命令 man 帮助 help 帮助 info 帮助 显示当前的目录名称 文件查看 建立目录 删除空目录 复制文件 移动文件 删除文件 查找文件 find 文件路径 ...
最新文章
- 我们每天都在做无用功?
- 编程之美2.3 寻找发帖水王
- 【Android开发经验】移动设备的“声波通信/验证”的实现——SinVoice开源项目介绍(一)
- 大学计算机导论报告,大学计算机导论论文参考.docx
- 错误的模糊应用(类继承问题)
- IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository
- postgresql 配置redis_自建 Gitlab (邮箱配置、拆分 PostgreSQL、Redis) + 随想
- JS将Date加八小时
- day07【后台】SpringSecurity
- 2021十大运动蓝牙耳机品牌推荐,平价真无线蓝牙耳机运动无拘束
- 《TCP/IP详解 卷1:协议》PDF分享
- 详解linux下的串口通讯开发
- [CF891D]Sloth
- 对经认定的黄浦区区级企业技术中心给予每家30万元奖励
- 如何做好地质旅游景区的策划规划和投资开发?
- 实用自动化运维Python脚本
- java web excel导入数据库
- win2003服务器安全设置技术实例(二)
- android系统怎么取消,安卓系统hd怎么关闭
- A 平台I2C 的使用