shell 简单来说就是一个解析输入命令的应用程序(命令解释器)
shell---unix
bash---Linux
文件类型(7种):
普通文件(-):.txt 压缩包 可执行文件
目录(d):d
符号链接(l)(相当于windows的快捷方式):
管道(p)
套接字(s):
字符设备(c):键盘 ,鼠标
块设备(b): U盘,硬盘
文件或目录颜色(一般情况)
普通文件:白色
可执行文件:绿色
压缩文件:红色
目录:蓝色
链接文件:青色
设备文件(块,字符,管道):黄色
其他文件:灰色
命令:
ls 列出所有文件
echo $HOME 获得HOME环境变量的值
echo $PATH 获得PATH环境变量的值
history 把输入过的命令显示出来
ll:列出当前目录的文件所有详细信息
快捷键:
遍历历史记录:
Ctrl+p(相当于向上箭头键) 显示上一次输入过的命令,不断按Ctr+p,可以向上遍历历史记录
Ctrl+n(相当于向下箭头键) 可以向下遍历历史记录
删除:
Ctrl+d 删除光标处的字符
Ctrl+u 删除光标前面的字符串
Ctrl+k 删除光标后面的字符串
移动:
向前 ctrl+b
向后 ctrl+f
移动到头部 ctrl+a
移动到尾部 ctrl+e
Tab 补全命令或者路径,或者罗列以字母开头的所有命令
./当前目录
查man文档 man 5 函数或文件名
根目录表示方式: /
根目录下常见目录 ls /
/bin : binary,二进制文件,可执行文件,shell命令
/dev :device,在linux下一切皆文件,硬盘,显卡,显示器...
/lib :linux运行的时候需要加载的一些动态库
/mnt: 手动挂载目录
/media:外设的自动挂载目录
/root: linux的超级用户的家目录
/usr: unix system resource 头文件(stdio.h stdlib.h) 游戏 用户安装的应用程序(/usr/local)
/etc: 存放配置文件 /ect/passwd 存放用户信息 /ect/group 用户组
/opt: 安装第三方应用程序
/home: linux操作系统所有用户的家目录 cd /home 用户家目录(宿主目录)/home/kevin
/tmp: 存放临时文件
相对路径:从当前的目录开始表示
绝对路径:从根目录(/)开始表示
/home/kevin/demo
~ : 用户的家目录(宿主目录) /home/tugy
.当前目录 ./ 当前目录下的
.. 当前目录的上一级目录 cd..
kevin@ubuntu:~/demo/Day$ kevin:当前登录的用户 @在 ubuntu 安装的时候指定的主机名
~/demo/Day: 当前用户的工作目录 $:当前用户为普通用户
#: 当前用户是超级用户
如何进入家目录:
1、 cd 绝对路径(/home/kevin)
2、cd~
3、cd
pwd 显示当前路径 (print work directory)
mkdir 目录名: 创建目录
mkdir-p 目录名字/目录名字/目录名字: 创建多级目录
touch 文件名 :如果文件不存在,创建文件,文件存在,更新文件时间
rm 目录名 -r:删除目录 rm temp/* -r (删除temp目录下所有内容)
rm 目录名 -ri:删除目录,有提示是否删除
rm 文件名:删除文件
cp 拷贝
1、cp file1(要拷贝的文件) file(不存在) :创建file ,并将file1中的内容拷贝到file
2、 cp file1 file(存在):file1覆盖file
3、cp file dir(目录存在) :拷贝file到dir目录
4、cp dir(存在) dir1(存在): 将整个dir目录拷贝到dir1目录中
5、cp dir(存在) dir1(不存在):创建dir1,将dir中的内容拷贝到dir1,不包括dir目录
mv 改名或者移动文件
1、改名 mv file file1(文件不存在) ; mv dir dir1(目录不存在)
2、移动 mv file dir(目录存在) ; mv dir dir1(目录存在)
3、mv file(存在) file2(存在):file覆盖file2 且file文件会被删掉
查看文件内容
cat filename 查看小文件内容
more filename 查看文件所有内容 回车:向下浏览一行,空格:向下翻页,q退出
head filename 查看文件头部 head -n(显示的行数,默认10行) filename
tail filename 查看文件尾部
软硬链接 ln
软链接 --快捷方式
命令: ln -s 文件名(使用绝对路径) 快捷方式的名字
硬链接(指向同一块内存)
命令:ln 文件名 硬链接的名字
硬链接的使用场景:硬盘有一个文件,在其他多个目录中管理,并且能时时同步
修改文件或目录权限:
所有者 同组用户 其他人
文字设定法:chmod who[+|-|=]mode 文件名
who: u(user文件所有者) g(group文件所属组) o(other其他人) a(all 所有的人)
+|-|=:添加减少覆盖权限
mode(权限): r(读) w(写) x(执行) -(没有任何权限)
例: chmod uo-rw filename
chmod u+r,g-x filename
chmod -w filename
chmod a-w filename 默认对所有的人操作
数字设定法 chmod [+|-|=]mode 文件名
mode(八进制的数):r(4) w(2) x(1) -(0,没有操作)
例:chmod -440 filename
chmod 777 filename
修改文件所有组或者所属组chown(change owner)
chown 新的所有者 文件名
chown 新的所有者: 新的组 文件名
到/etc/passwd 查看所有用户
到/ect/group 查看所有组
例 sudo chown robin filename
修改文件所属组:chgrp 新的组 文件名
目录要有执行权限 才能进去
文件的查找
根据文件属性查找——find
1、文件名: find 查找的目录 -name "查找的文件名" 例 find . -name "aa"
2、文件类型:find 查找目录 -type 文件类型
文件类型: 普通文件:f 目录:d 符号链接:l 管道:p 套接字:s 字符设备:c 块设备:b
3、文件大小: find 查找目录 -size +/- 数字k/(M)
+大于 -小于 等于不加任何符号 单位k,M
例 find ./ -size -4k
大于10k 小于100k: find . -size +10k -size -100k
4、按日期:
创建日期:-ctime -n/+n -n:n天以内 +n:n天以外
例:查找当前目录1天以内 find . -ctime -1
修改日期:-mtime -n/+n
访问日期:-atime -n/+n
5、深度:-maxdepth n(层数) -mindepth n(搜索n层以上的目录)
find 查找目录 -maxdepth n -name 文件名字
高级查找
例:查找指定内容,并列出该目录中文件的详细信息 find ./ type d -exec ls -l {} \;
find ./ type d -exec shell命令 {};
find ./ type d -ok shell命令 {}; ok比较安全(会有提示)
find ./ type d | xargs shell命令
总结:find 搜索的路径 -参数 搜索的内容
根据文件内容查找 grep
grep -r(有目录) "查找的内容" 搜索的路径
grep -r(有目录) "查找的内容" 搜索的路径 -n 会显示行数
例:搜索家目录中带有hello字符的文件 grep -r "hello" ~
linux 常见压缩格式 .gz .bz2
常用压缩命令
1、tar 打包
参数:c-创建压缩文件 x-释放压缩文件 v-打印提示信息(可不写) f-指定压缩包的名字
z-使用gzip压缩文件-xxx.tar.gz j-使用bzip2的方式压缩文件--xxx.tar.bz2
压缩:tar 参数 压缩包的名字 原材料(要压缩的文件或目录)
tar zcvf test.tar.gz file/dir
解压缩:解压到当前目录 tar zxvf test.tar.gz
解压到指定目录 tar zxvf test.tar.gz -C 解压目录
总结:
压缩:tar 参数 压缩包名 原材料
解压缩:tar 参数 压缩包名 参数 解压路径
2、rar
rar工具需要安装
sudo apt-get install rar
压缩:rar a 压缩包名(不需要指定后缀) 压缩内容 -r(在压缩目录里面的内容要加这个参数)
例:rar a alll itcast/ w.hard program zoo/ -r
rar a alll2 itcast w.hard program zoo
解压缩:rar x 压缩包名 指定目录 (如果不指定目录就是当前目录)
3、zip/unzip
压缩:zip 参数 压缩包名 原材料
如果有目录:加参数 -r ,zip 压缩包名 原材料 -r
解压缩:unzip 压缩包的名字 -d 解压目录 ( 不加-d参数 解压到当前目录)
软件的安装
1、在线安装(ubuntu)
安装: sudo apt-get(apt) install 安装包的名字
卸载:sudo apt-get(apt) remove 软件的名字
软件列表的更新(不更新应用程序):sudo apt-get(apt) update
清空缓存: sudo apt-get(apt) clean
缓存路径 /var/cache/apt/archives
2、软件包安装(Ubuntu下 .deb格式)
find ./ -name "*.deb"
安装: sudo dpkg -i xxx.deb
卸载: sudo dpkg -r 软件的名字(可以按Tab补齐名字)
源码的安装:找README 文件