张伟伟,男,西安工程大学电子信息学院,2019级硕士研究生,张宏伟人工智能课题组。
微信公众号:可随时查阅,搜索—张二牛的笔记,内容会分类上传。
研究方向:机器视觉与人工智能。
电子邮件:[email protected]
电子邮件:[email protected]
整个课程目标:9天每天12个小时:
注意:shell在寻找命令的时候是按照$PATH环境变量去查找的,如果找到了就执行对应的命令,若找不到就报错, 执行echo $PATH可以查看PATH环境变量的值
- 常用的命令解析器
/bin/sh
/bin/bash
- 指令
查看当前系统所使用的shell: echo $SHELL
查看当前系统下有哪些shell:cat /etc/shells
#命令可以显示用户输入的所有命令
history
# 向前删除命令
ctrl + a
# 向后删除
ctrl + d
# 删除光标前的指令
ctrl + u
#删除光标后的指令
ctrl + k
倒立的树状结构, 根目录用/表示
/bin--------: binary,二进制文件,可执行程序,shell命令
/dev--------: device,在linux下一切皆文件
/lib----------,库文件,标准输入输出库
/media-----外设自动挂载的目录
/mnt---------手动挂载的目录,如U盘等
/usr----------
include目录里存放头文件, 如: stdio.h、stdlib.h、string.h、pthread.h
/etc----------: 存放配置文件
/etc/passwd
man 5 passwd可以查看passwd文件的格式信息
/etc/group
man 5 group可以查看group文件的格式信息
/etc/profile
系统的配置文件, 修改该文件会影响这个系统下面的所有的用户
查看当前用户的宿主目录: echo $HOME
tree
ls -alhR
cd cd ~ cd - cd $HOME
pwd
which ---查看命令所在目录
touch 文件名
mkdir 目录名
mkdir -p aa/bb/ ---创建层级目录
rm 文件名
rm -r 目录名
-i:递归删除目录
-f:强制删除
cp 源文件 目标文件
使用场景:修改文件时先拷贝
文件存在则覆盖
-r 目录不存在则成为子目录
-a 文件时间信息也不变
mv 源文件 目标文件---(剪切、改名)
cat 文件名----将文件内容输出到终端
cat file1 > file2 文件内容重定向(复制)
more 文件名----将文件内容分页显示 (但只能向下显示,不能回退)
相关操作:显示下一行:Enter
显示下一页:空格键
退出为:q
less 文件名----(上下皆可浏览)
ctrl + p ,Enter,向上箭头
ctrl + n ,向下箭头
pageup,空格
pagedown
head -文件行数n 文件名---查看文件的前n行的内容
tail -文件行数n 文件名---查看文件的后n行的内容
ln -s 源文件 链接 ----创建软连接,使用绝对路径创建文件软连接不影响移动。
ln 源文件 链接 ----互为硬链接,移动不影响使用(可用于同步文件,保护文件的作用,删除时别的还在)
wc 文件名----显示文件行数, 字节数, 单词数
wc -l file显示文件的总行数
wc -c file显示文件的总字节数
wc -w file显示文件的总单词数
wc file 显示文件的总行数, 单词数和总字节数
whoami ---显示当前登录的用户
chmod [who][+|-|=][mode] 文件名
u -- 用户(user)
g -- 同组用户(group)
o -- 其他用户(other)
a -- 所用用户(all)【默认】
操作符【+-=】
+ -- 添加权限
- -- 取消权限
= -- 赋予给定权限并取消其他权限
权限【mode】
r -- 读 4
w -- 写 2
x -- 执行 1
示例:给文件file.txt的所有者和所属组添加读写权限
chmod ug+wr file.txt
chmod u+x,u+w file.txt
chmod -030 file.txt
1.按照文件名进行查找:-name
find 路径 -name "文件名"
2.按照文件类型进行查找:-type
find 路径 -type d
d -> 目录
l -> 符号链接
b -> 块设备文件
c -> 字符设备文件
s -> socket文件
p -> 管道文件
3.按照文件大小进行查找:-size
大于100k的文件: find ~/ -size +100k
大于50k, 小于100k的文件: find ~/ -size +50k -size -100k
4.按照创建修改日期查找
创建日期:-ctime -n/+ n
-n: n天以内
+n: n天以外
修改日期:-mtime -n/+n
访问日期:-atime -n/+n
5.高级查找:查找出并展示文件信息
find ./ -type d -exec shell命令 {} \
例如:find ./ -type d -exec ls -l {} \
find ./ -type d -ok rm file1 {} \
管道命令:
find ./ -type d | xargs shell命令
grep -r(有目录) “查找的内容” 搜索的路径
-r参数, 若是目录, 则可以递归搜索
-n参数可以显示该查找内容所在的行号
-i参数可以忽略大小写进行查找
-v参数不显示含有某字符串
例如:搜索当前目录下包含hello world字符串的文件
grep -r -n "hello world" ./ ------显示行号
grep -r -i -n "while"
高级使用于find结合使用,查找.sh中的指令
find . -name "*.sh"| xargs grep -n -i -r "main"
vim ~/.bashrc
alias 别名=‘命令’
#更新软件安装列表:
sudo apt-get update
#软件安装:
sudo apt-get install 软件名
#软件卸载:
sudo apt-get install 软件名
#清理安装包:
sudo apt-get clean
切换到目录,并且有安装包
#软件安装:
sudo dpkg -i xxx.deb
#软件卸载:
sudo dpkg -r xxx.deb
gzip和bzip2:只能压缩普通文件们不能压缩目录,实用性不强。
tar命令:
》》》压缩常用第一个 c 为新建压缩
tar zcvf 压缩包名字.tar.gz 原材料[要打包压缩的文件或目录]
tar jcvf 压缩包名字.tar.bz2 原材料[要打包压缩的文件或目录]
tar cvf 压缩包名字.tar 原材料[要打包压缩的文件或目录]
》》》解压常用第一个 x 为解压
tar zxvf 已有的压缩包(test.tar.gz)
tar jxvf 已有的压缩包(test.tar.bz2)
tar xvf 已有的压缩包(test.tar.gz)
》》》-C指定路径
解压到指定目录:添加参数 -C(大写)
例子:
tar xvf test.tar.gz -C 解压目录(./mytest)
查看压缩包中有哪些文件
tar tvf test.tar
》》》一些参数的含义
z:用gzip来压缩/解压缩文件
j:用bzip2来压缩/解压缩文件
c:create, 创建新的压缩文件, 与x互斥使用
x:从压缩文件中释放文件, 与c互斥使用
v:详细报告tar处理的文件信息
f:指定压缩文件的名字
t: 查看压缩包中有哪些文件
1.Linux下的目录结构:
倒立的树形结构
2. 写出下列目录的作用:
/dev 设备–字符设备和块设备
/etc 配置文件
/home 用户的加目录
/usr programfile Unix系统资源
/bin 常见的指令
/lib 常用的库文件
/mnt 手动挂载的目录。
3.用户名@主机名:当前所处文件
4. 写出命令查找宿主目录下文件大于100k小于10M的文件,
并将查到文件的详细信息保存到另一个文件file中。
5. 写出命令查找宿主目录下文件中含有"hello, world"字符串的文件,并显示行号。
6. 写出命令卸载Linux中的tree软件(两种方式)
7. 当前目录下有 a, b, c 三个文件和一个目录Dir分别使用 tar, rar, zip命令将三个文件和目录压缩为一个文件.将压缩好的文件解压缩到/home/itheima目录中