shell常用命令大全及注意事项
安装软件的命令(重点)
sudo dpkg -i 软件安装包的名字
卸载软件的命令(重点)
sudo dpkg -r 软件的名字 (-p是完全卸载)
在线安装
sudo apt-get install 软件名
bzip2 要压缩的文件的名字 bunzip2 要解压缩的文件.bz2
xz 要压缩的文件的名字 unxz 要解压缩的文件.xz
gzip 要压缩的文件的名字 gunzip 要解压缩的文件.gz
归档:(没有压缩) tar -vcf 文件名.tar 要归档的文件夹的名字
拆包: tar -vxf 文件名.tar
tar -jvcf 压缩文件名.tar.bz2 要压缩的文件的名字
tar -Jvcf 压缩文件名.tar.xz 要压缩的文件的名字
tar -zvcf 压缩文件名.tar.gz 要压缩的文件的名字
万能拆包并解压 tar -vxf 压缩文件名.tar.xx
cat 文件名 cat -n 文件名 ---> 显示行号
cat hello.c world.c ----> 回显两个文件的内容到终端
head 文件名 默认前10行
head -n 文件名 ---> n是一个数字,表示显示前n行
tail 文件名 默认后10行
tail -n 文件名 ---> n是一个数字,表示显示后n行
find 路径 -name 文件名字 ---> 从“路径”查看“文件名字”文件
find . -name hello.c ----> 从当前目录下查找hello.c
find / -name passwd ----> 从根目录下查找passwd文件
功能:查看文件属性相关的信息 用法: file 文件名
将/etc/passwd文件拷贝到用户的某个路径下sudo cp /etc/passwd ./
功能:从文件中查找字符串(重要)
格式:grep -参数 "要查找的字符串" 文件的名字或者路径
grep -n "linux" ./passwd ---> 回显行号
grep -nR "linux" ./ ---> 递归查找当前目录下的所有文件,并回显行号
grep -niR "Linux" ./ ---> 不区分大小写
grep -niwR "Linu" ./ ---> 按照单词查找
grep -n "^linux" ./passwd ---> 从文件中查找每行的开头为linux
grep -n "bash$" ./passwd ---> 从文件中查找每行结尾为bash
grep -n "^linux$" ./passwd ---> 从文件中查找每行的开头为linux结尾为linux
ls -1 ./ > 1.txt 清空写入 ls -1 ~ >> 1.txt 追加写入
管道符:将前一个命令的结果作为后一个命令的输入
用法: 命令1 | 命令2 | 命令3 | ............
cat -n passwd | head -46 | tail -1
read 变量名 read name 类似scanf
echo 字符串 echo "字符串" echo '字符串' 都可以
echo ${name} 类似printf
echo输出字符串之后默认会将光标定位到下一行的行头 自动换行
截取格式: cut -d "分隔符" -f 域 文件名及路径
cut -d ":" -f 1,6 /etc/passwd > user.txt
常和grep 管道符一起使用
grep "^linux" /etc/passwd | cut -d ":" -f 3-4
cat /etc/passwd | head -46 | tail -1 | cut -d ":" -f 3-4
touch a1.c a2.c a3.c touch可以创建多个文件
通配符 * ----> 匹配多个字符 ? ----> 匹配1个字符
[] ----> 匹配中括号中的一个字符 a[^a-d].c ----> 匹配除了abcd
sudo shutdown 关机 reboot 重启
-rw-rw-r-- 1 linux linux 75 Oct 16 23:12 hello.c
| | | | | | |-----> 所属的组
| | | | | |----> 所属用户 a---all
| | | | |----> 硬链接数
| | | |----> 其他用户权限 o---other
| | |-----> 所属组的权限 g---group
| |----> 所属用户权限 4 2 1 u ---user
|------> 文件类型
bsp-lcd : 块设备文件/套接字文件/管道文件/普通文件/链接文件/字符设备文件/目录
+ ----> 添加权限 - ----> 移除权限 = ----> 修改权限
chmod 修改文件权限 chmod a+x 文件的名字 chmod 0777 文件的名字
chown 修改用户和组的权限 chown 修改所属用户名:修改所属组名 文件名
chown :修改所属组名 文件名 chown 修改所属用户名 文件名
软连接 ln -s 绝对路径/被软链接的文件的名字 绝对路径/创建的软链接文件的名字
ln -s /mnt/hgfs/共享文件夹的名字 /home/linux/windows_share
硬链接 ln 绝对路径/被链接的文件名 绝对路径/硬链接的文件名
linux@ubuntu:DC22091$ ls /dev/sd* -l ---> 查看ubuntu系统下的块设备文件
brw-rw---- 1 root disk 8, 0 Oct 17 19:05 /dev/sda1
sd[a-z][1-9]
| |----> 块设备文件对应的分区
|----> 用来表示哪个块设备
挂载U盘
1. 在/mnt目录下创建udisk文件夹 sudo mkdir /mnt/udisk
2. 使用mount挂载的命令将/dev/sdb1挂载到/mnt/udisk目录下
sudo mount /dev/sdb1 /mnt/udisk
ifconfig ----> 查看ubuntu系统的网络信息
ping命令----> 测试网络的命令 ping 39.156.66.14 ping www.baidu.com
文件名 第一个参数 第二个参数 。。。n
$0 $1 $2 $n
$* $@ 获取所有参数 $#参数个数总和
在shell中定义变量时,等号两边不允许出现空格赋值 name=zhangsan 变量名="初始值"
取变量的值 ${变量名} echo $var1 # 打印var1变量的值
命令置换符 $(shell命令) 或者 `shell命令` 通常用 `` 1前面的符号
数组的定义格式
数组名=(成员0 成员1 成员2 成员3 成员4 ....)-----> 数组中的成员是连续的
数组名=([0]=成员0 [2]=成员2 [5]=成员5 .....)-----> 数组中的成员是不连续
赋值:数组名[index(下标)]=新的初始值 取值: ${数组名[index]}
读取数组所有成员 ${数组名[*]} ${数组名[@]}
${#数组名[*]} ${#数组名[@]} 统计数组元素个数
${#数组名[下标]} 统计某个元素里的字符个数
算数运算 (()) ((算数表达式1,算数表达式2,算数表达式3, ....)返回最后一个值
获取结果 ret_val=$((算数表达式)) 或者 $((ret_val=算数表达式))
expr 常用法 变量=`expr 表达式或者shell命令` 返回值或者命令结果
if用法 if ((表达式))
then
shell语句
elif ((表达式));then
shell语句
else
shell语句
fi
case in case 常量表达式 in -----> 等价于c语言中的switch ... case语句
用法 常量1) -----> 等价于C语言中的"case 常量:"分支
shell语句 -----> 等价于C语句
;; -----> 等价于C语言中的break
常量2)
shell语句
;;
......
*) ----> 等价于C语言中的"default:"分支
shell语句
;;
esac
while用法 while [ 表达式 ]
do
shell语句
done
for循环: for ((表达式1;表达式2;表达式3))
do
shell语句4
done
for 变量名 in 字符串格式的单词列表,字符串单词之间使用空格隔开
do
shell语句
done
select select 变量名 in 单词列表:单词之间使用空格隔开
用法 do
shell语句
done
# [] 相当于test命令,使用[]最终调用的是test命令(重要) while循环语句经常和test命令结合使用
-eq : 等于 -ne : 不等于 -gt : ⼤于 -lt : ⼩于 -ge : ⼤于等于 -le : ⼩于等于
[ INTEGER1 -eq INTEGER2 ] -字母命令判断用方括号[]
-a 与 && -o 或 || ! ⾮ !
文件类型判断 也用方括号[] [ -b filename ]
-b filename 判断⽂件是否存在,是否是块设备
-c filename 判断⽂件是否存在,是否是字符设备
-d filename 判断⽂件是否存在,是否是⽬录
-f filename 判断⽂件是否存在,是否是普通⽂件
-p filename 判断⽂件是否存在,是否是管道⽂件
-L filename 判断⽂件是否存在,是否是链接⽂件 (经测试链接⽂件也是普通⽂件)
-S filename 判断⽂件是否存在,是否是套接字⽂件
-e filename 判断⽂件是否存在
-s filename 判断⽂件是否存在,判断⽂件是否为空
function 函数名() 调用 函数名 $1 $2 $3
{ 参数1 参数2 参数3
函数体
}
shell常用命令大全及注意事项相关推荐
- HDFS系列(3) | HDFS的Shell常用命令大全
此次更新的的博文是关于HDFS的shell的常用命令,希望大家能够喜欢 目录 一. 基本语法 二. 命令大全 三. 常用命令实操 1. 常用命令及其作用对比表 2. 常用命令的实际操作 一. 基本语法 ...
- adb 输入回车命令_Android超级终端(Adb Shell)常用命令、命令大全-持续更新 | 何连超的博客小站...
Android超级终端(Adb Shell)常用命令.命令大全-持续更新 超级终端(手机端操作)与AdbShell(电脑端操作)使用的Shell命令(即Linux shell命令,类似Dos命令)是相 ...
- shell 常用命令
shell 常用命令 Shell基本命令 几个基本的shell命令,用ssh管理主机必备. 1.ls 列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件 [root@restor ...
- mac os touch命令_MacOS系统终端常用命令大全
MacOS系统终端是使用mac电脑的小伙伴需要或多或少了解的一个应用.熟悉并掌握一些基本的常用命令可以帮助我们快速的解决一些日常问题,提高工作效率,下面让小编带大家了解一下吧!MacOS系统终端常用命 ...
- Linux: 近100个常用命令大全
1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和".." -l 列出 ...
- 来不及解释!Linux常用命令大全,先收藏再说
摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...
- linux eth0 目录,教程 | Linux常用命令大全
原标题:教程 | Linux常用命令大全 来源:Linux爱好者 ID:LinuxHub Linux常用命令 目录操作命令 ls 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls ...
- android adb shell 常用命令
adbshell.com/ adb常用命令 1.模拟点击 adb shell input tap 100 100 复制代码 2.滑动 adb shell input swipe x1 y1 x2 y2 ...
- CentOS7 常用命令大全
目录 1.学习教材 2.Linux Shell 简介 3.常用命令 3.1 文件与目录操作命令 3.2 文件内容查看命令 3.3 文件内容处理命令 3.4 查询操作 3.5 压缩.解压 3.6 软件包 ...
最新文章
- Verilog中的二维数组及其初始化
- 《Web前端开发精品课 HTML与CSS进阶教程》——1.4 id和class
- Git的强制操作:强制推送[项目中千万不要用] 强制下拉
- solr5.3.1 mysql_Solr5.3.1 dataimport 导入mysql数据
- Linux内存分配机制之伙伴系统和SLAB
- Win10下安装不同版本的MySQL
- python学习笔记之列表(list)
- 在Windows上安装Nexus
- 产品经理如何进行竞品分析?
- Android支持库AndroidX和support-v4、appcompat-v7的前世今生!
- eclipse运行jsp文件时出现乱码解决方法
- AcWing 兔子与兔子
- 用R语言做数据分析——时间序列分类
- 十六进制转float
- 医疗人工智能与未来医院信息化建设
- html表格中boder属性与style中boder属性区别
- 2019多校 7.29
- 无线蓝牙耳机什么牌子好?适合学生党的蓝牙耳机性价比排行榜
- 可刷新的 PDB(PDB Refresh)
- 计算机网络——常考的面试题
热门文章
- 演示多组int,float,double的数与 2,2.0f,2.0d的除法运算和取模运算,如有兴趣,可自行分析对比结果
- 如何选择天翼云云硬盘
- Django连接使用SQL Server数据库(windows版)
- 分布式 TensorFlow:Distribution Strategy API 丨Google 开发者大会 2018
- Mybatis-Plus中的查(select)和 Wrapper条件构造器-详解 V2.0
- Go Channel 应用模式
- 使用安全SSL连接PostgreSQL数据库
- python输出文本框_python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方...
- wordpress每次发布新文章自动提交百度
- eps罗马柱头制作方法_马鞍山EPS屋檐线条安装方案,EPS罗马柱