Linux基本命令
- 一些技巧
打开终端的快捷键: ctrl + alt + t
终端字体放大: ctrl+shift+ +
终端字体缩小: ctrl + -
vim -On one.py two.py 在vim中分屏显示多个文件
ctrl+shift+t 在一个命令窗口开启多个命令界面(有的可用)
ls
查看当前目录的下文件信息
clear 清屏
ls -a 显示隐藏文件
ls -l 列表
ls -h 显示文件大小
* 通配符 aa* 开头 *aa 结尾 (重点)
? 占位 [ ] 区间 \ 转译符 (了解)
ls 目录名: 查看指定目录下文件和目录的信息
ll == ls -l
ls *.后缀名 ====>>>查找所有 .后缀名的文件
*aa 结尾,查找以*aa 结尾文件中的所有文件(不包括*aa文件下一级的文件)
aa* 开头,查找以aa* 开头文件中的所有文件(不包括*aa文件下一级的文件)
ls [a-d]* 查找从a到d范围内的的任意一个字符开头的文件,包括当前子文件都找出来
cd: 切换目录
cd 目录名: 切换到指定目录
cd .. : 表示切换上一级目录, ..表示上一级目录
cd / : 退回根目录
cd ~ : 快速回到用户的家目录 /home/python
cd 等价与 cd ~ /home/python
绝对路径:从根目录说起表示绝对路径 表示形式 /xxx/xx
相对路径:从当前目录说起表示相对路径 表示形式 ../ 或者 ./ 或者 直接目录名
pwd 当前当前目录的路径
touch: 创建一个文件
touch ./AA/ 1.txt => 在当前目录下的AA文件夹里面创建一个文件是1.txt
mkdir: 创建文件夹
mkdir a/b/c -p ==》连续在一个文件夹中创建子目录、子子目录...
mkdir a b c d ==>在当前目录下创建多个同级目录
mkdir ./a/b ==>在当前目录a下创建文件夹b
rmdir或rm
只能删除空文件夹或者空目录
rm : 可以删除文件还可以删除文件夹,提示: 如果文件夹里面有文件,
那么需要加上 -r 选项 比如: rm 文件夹名字 -r
cp: 复制
cp 文件名 目录/(文件名) 如果带文件名就是复制并重命名,不带就用原名
cp -r 文件夹 目录 => 提示: 如果复制的是文件夹那么需要加上一个选项 -r
cp -r 文件夹 目录/(文件夹名) => 提示: 如果复制的是文件夹那么需要加上一个
选项 -r,需要用小括号的本意时,要在小括号前加一个反斜杠\
-a: 保留文件的权限设置,提示:-a 选项包括-r,也就是说-a范围比-r大
mv: 剪切(移动)
mv 文件名 文件名 如:mv aaa.tar bbb.tar ==》 将当前目录下的aaa.tar更名为bbb.tar
mv 文件名 目录(可以是相对路径,也可以是绝对路径) ==》 把文件移动到指定目录下
mv 文件名 目录/文件名 ==》 先把文件移动到指定目录下,然后再重命名
mv 文件夹 目录(可以包含文件,连同文件一起移动)=》 把文件夹移动到指定目录,不需要加-r
tree
以目录树的方式显示文件信息
查看当前目录以树状方式显示目录信息
tree 目录名 :查看指定目录以树状方式显示目录信息
一些时间命令
cal: 日历
cal -y : 全年月份
date: 获取当前时间
date "+%Y:%m:%d %H:%M:%S" 获取年月日时分秒
history : 查看历史命令
!历史命令编号: 执行历史命令
命令格式
命令名(cp,ls) [选项] (-r) 参数 (路径,目录)
cp 文件夹 ./AAA/ -r
命令选项和参数位置可以调整,但是有些操作系统不支持
ls 可以有多个参数,比如: ls AAA BBB
重定向
重新规定显示方向,也就是在终端显示的文件信息在文件里面保存及显示
> : 先把源文件里面的内容清空以后在写入信息文件信息数据
>>: 在原有文件数据的基础上进行追加新的写入数据
ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
echo 111 > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
tree > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
gedit
文件编辑工具,可以完成对文件的读写操作
cat
在终端查看文件信息,一次性把文件里面的所有数据都显示在终端,但是不能修改
cat 1.txt 2.txt > 3.txt 把1.txt和2.txt 的内容合并到3.txt
cat 1.txt >> 2.txt 把 1.txt的内容追加到2.txt内容的后面
more
分屏显示文件数据
more 文件名
f(空格): 看一页数据或者下一屏数据
回车 : 看下一行
b 回看上一页
q: 退出不在看更多的数据
cat 两个文件 | more
链接(软链接和硬链接)
软连接-快捷方式 硬链接-数据备份
软链接: ln -s 文件名或者目录名 软链接名字 软链接可以对文件或者文件夹进行操作,提示:创建软链接硬链接数不会加1
硬链接: ln 文件名 硬链接名字 硬链接指定对文件进行创建,不能对文件夹进行创建硬链接,提示: 创建硬链接,硬链接数会加1
grep
在指定文件里面根据内容进行查找
grep "内容" 文件名 =》 在文件里面根据指定内容进行查找
grep "^内容" 文件名 => 在文件里面查找以某个内容开头的数据
grep "内容$" 文件名 =》 在文件里面查找以某个内容结尾的数据
grep "[123]" 文件名 => 在文件里面查找中括号里面的数据, 注意只匹配中括号里面的其中一位
grep -n/v/i "内容" 文件名 => 显示匹配行及行号/显示不包含匹配文本的所有行(相当于求反)/忽略大小写
| 管道
管道可以理解程同一个容器,在终端显示的内容保存在管道里面,使用more分屏/grep显示管道里面的数据
ls /bin | more/grep => 查看bin目录下的文件信息,让显示在终端的数据保存在管道里面,然后通过more分屏显示管道里面的数据
经常和grep/xargs连用
find:在指定目录里面查找文件
find ./ -name "xxx" 在指定目录里面查找指定的文件
find ./ -name "*.txt" 在指定目录里面查找以.txt结尾的文件
find ./ -name "[12]*.txt" 在指定目录中查找 1 或 2 匹配的所有文件
find -type f文件 d目录
打包(归档)
tar -cvf test.tar *.txt 表示将*.txt打包成test.tar
-c 表示要打包 -v 表示显示那些文件要达到包里面 -f表示后缀是.tar, 提示-f必须放到最后
压缩(两种形式)
gzip -r test.tar test.tar.gz => 压缩后得到test.tar.gz的文件
bzip2 -z test.tar test.tar.bz2
解压(两种形式)
gzip -d test.tar.gz test.tar (解压后解档) 把test.tar.gz
bzip2 -d test.tar.bz2 test.tar (解压后解档)
打包+压缩 (重点)
tar归档+压缩
tar -zcvf test.tar.gz *.txt (gzip) (重点) 把*.txt打包压缩成test.tar.gz
tar -jcvf test.tar.bz2 *.txt (bzip) (重点)
tar -zxvf test.tar.gz -C 指定文件夹(gzip) 解压及解包到指定目录
tar -jxvf test.tar.bz2 -C 指定文件夹(bzip2) 解压及解包到指定目录
归档+压缩命令:zip和unzip
zip -r test.zip *.txt (-r和后缀可以省略) -r 递归处理子目录
unzip -d ./目录 test.zip (目录不写默认当前目录) -d指定目录
which 获取命令的位置
which ls 获取ls命令的位置
which python3 获取python3解释器的位置
提示: which只能获取命令的位置
chmod 修改文件的权限
u: 当前用户 g:同组用户 o:其它用户 a:所有用户
+: 添加权限, -: 删除权限, = 设置权限
r: 可读 w: 可写, x:可执行
数字法: r => 4 , w =>2 , x =>1
chmod a= 1.txt => 所有用户对这个文件没有任何权限
chmod a=rwx 1.txt => 所有用户对这个文件有全部权限
chmod 777 1.txt => 所有用户对这个文件有全部权限
chmod 000 1.txt => 所有用户对这个文件没有任何权限
shutdown
shutdown -r now 重启,shutdown会给别的用户提示
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统10分钟后自动关机
一些系统设置命令
init number 0是关机,6是重启
reboot:重新启动操作系统
exit: 退出当前用户
whoami:当前用户是谁
who: 查看当前登陆的用户有那些人
passwd: 修改用户密码
sudo -s: 切换到管理员用户
exit() >退出