【Linux】第五章 linux常用命令--实测常用
Linux 创建文件夹快捷方式 In -s
linux上操作文件夹实在不是很方便,打开工程时,需要一串的cd XX,才能进入想要的文件夹,这里为该目录在创建一个快捷方式:
命令:ln -s 目标目录路径 绑定直达路径
举个例子:
(base) localhost:bert-base-chinese wang$ pwd
/Users/wang/Bert-Chinese-Text-Classification-Pytorch/bert_pretrain/bert-base-chinese
(base) localhost:bert-base-chinese wang$ cd /Users/wang # 回到自己所有工程的目录
(base) localhost:~ wang$ ln -s Bert-Chinese-Text-Classification-Pytorch/bert_pretrain/bert-base-chinese src
(base) localhost:~ wang$ ll
drwxr-xr-x 15 wang staff 480 10 30 11:25 Bert-Chinese-Text-Classification-Pytorch/
lrwxr-xr-x 1 wang staff 74 11 3 23:25 src Bert-Chinese-Text-Classification-Pytorch/bert_pretrain/bert-base-chinese
(base) localhost:~ wang$ cd src
#进入路径
linux命令
格式:命令 -选项 参数
eg:ls -la /usr
-l:long
-a:all(包括隐藏文件)
-t:time
内部切换命令:
cd:切换目录 change directory
注意:如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加 “ / ”。
pwd:显示当前工作目录 print working directory
help:帮助
外部命令:
ls:显示文件和目录列表 list
mkdir:创建目录 make directory
cp:复制文件或目录 copy
操作文件或者目录常用命令:
touch:创建空文件
mkdir:
-p:父附录不存在的情况下生成父目录
cp :
-r:递归处理 recursive
-i:有重复文件时,提醒是否覆盖
-v:显示拷贝进度
eg: $ cp vim_configure/ code/ -ivr 把文件夹 vim_configure 拷贝到 code 目录里
mv:移动文件或目录、文件或者目录改名 move
–v:显示移动进度
eg $ mv file1 file2 file1 改名为 file2
eg $ mv vim_configure/ code/ vim_configure/ 移动到 code 目录里
rm:删除文件 remove
-r:同事删除该目录下的所哟文件,eg$ rm file -r
-f:强制删除文件或目录 force, eg$ rm file -f
rmdir:删除空目录 remove directory
cat:显示文本文件内容 catenate
more、less :分页显示文本文件内容
head、tail查看文本中开头或者结尾部分的内容
head -n 5 a.log :查看a.log文件的前5行
tail -f b.log :循环读取 f:follow
常用命令:
wc:统计文本的行数、字数、字符数:word count
-m:统计文本字符数
-w:统计文本字数
-l:统计文本行数
find:find
用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名,其支持按名称查找、按正则表达式查找、按文件大小查找、按文件权限查找等多种查询方式。如果在使用该命令时,不设置任何参数,则find
命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
- 语法:
find + 目标目录(路径) + <选项> + 参数
- $ find /etc/ -name "aaa"
- 查找当前目录及其子目录下所有文件和文件夹: find .
- 在
/testLinux
目录下查找以.txt
结尾的文件名:find /tmp/cg/testLinux -name "*.txt" // 需要书写完整的路径 - 根据文件类型进行搜索:find . -type f //f表示文件的意思,file的缩写
- 组合查找文件名以
file1
开头(与、或、非)file2
开头的文件:
/**
* 组合查找语法:
* -a 与(取交集)
* -o 或(取并集)
* -not 非(同 !)
* ! 非(同 not)
*/
find . -name "file1*" -a -name "file2*"
find . -name "file1*" -o -name "file2*"
find . -name "file1*" -not -name "file2*"
find . -name "file1*" ! -name "file2*"
grep :在指定的文本文件中查找指定的字符串
ln:建立连接文件 link
-s:对源文件建立符号连接,而非硬链接 symbolic
系统管理
top:显示当前系统中耗费资源最多的进程
ps:显示瞬间的进程状态,查看系统进程
-e/-A:显示所有进程 ,环境变量
-f:全格式
-a:显示所有用户的所有进程
-u:按用户名和启动时间的顺序显示进程
-x:显示无控制终端的进程
杀死一个进程:
kill:杀死指定进程号的进程,配合 ps 使用。
先使用PS看有哪些进程:PID字段下面的内容是进程号,可以用kill杀死。
$ ps aux | grep XXX //显示关于XXX的进程信息,可以根据PID kill掉任务
eg $ kill 9133 //9133 为应用程序所对应的进程号 。
有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束。
eg $ kill -9 9133 //9133 为应用程序所对应的进程号 。
df:显示文件系统磁盘空间的使用情况
ifconfig:查看或配置网卡信息,我们只是敲:ifconfig,它会显示所有网卡的信息:
设置 ip :sudo ifconfig eth0 192.168.31.165
sudo 是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。
常用来切换身份。
who:查看当前系统登录用户的信息
第一列显示登陆用户名
第二列显示终端名
第三列显示登陆时间
exit:
如果是图形界面,退出当前终端
如果是使用ssh远程登录,退出登陆账户
reboot:重启电脑
备份压缩命令:
gzip:压缩(解压)文件或者目录,压缩文件后缀为gz
bzip:压缩(解压)文件或者目录,压缩文件后缀为ba2
tar:文件 或者目录打(解)包
压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...
c:create,创建
v:显示压缩进度
z:指定压缩包的格式为 gzip 格式,file.tar.gz
这三个参数的顺序任意即可,参数的前面可加“ - ”,如:-zcf
f:file,文件,f 的后面必须是压缩包文件,所以,这四个选项一起使用时,f 一定是放在最后,如:zxvf
解缩用法: tar zxvf 压缩包包名
x:代表解压操作
z:指定解压压缩包的格式为 gzip 格式,file.tar.gz
用法和创建压缩包用法一样,选项顺序也一样。
解压到指定目录:-C (大写字母“ C ”)
eg: $ tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前目录下的 test 目录下
1.zip命令
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
zip -r myfile.zip ./*
2.unzip命令
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下
3.其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件
关机、重启命令:
shutdown:系统关机
-r:关机后立即重启
-h:关机后不重新启动
eg $ shutdown -h now 立刻关机,其中now相当于时间为0的状态
eg $ shutdown -h 20:25 系统在今天的20:25 分会关机
eg $ shutdown -h +10 系统再过十分钟后自动关机
halt:挂机后关闭电源 shutdown -h
reboot:重新启动 shutdown -r
用户、权限管理:
chmod:改变文件权限
chmod 有两种使用格式(字母法与数字法)
字母法:
chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] 说明
u : user 表示该文件的所有者
g : group 表示与该文件的所有者属于同一组( group )者,即用户组
o : other 表示其他以外的人
a : all 表示这三者皆是
[ +-= ] 说明
+ : 增加权限
- : 撤销权限
= : 设定权限
[ rwx ] 说明
r : read 表示可读取
w : write 表示可写入
x : excute 表示可执行
eg: $ chmod o+w file 给文件 file 的其它用户增加写权限
$ chmod u-r file 给文件 file 的拥有者减去读的权限
$ chmod g=x file 设置文件 file 的同组用户的权限为可执行,同时去除读、写权限
数字法:
“rwx” 这些权限也可以用数字来代替
r:读取权限,数字代号为 "4"
w:写入权限,数字代号为 "2"
x:执行或切换权限,数字代号为 "1"
-:不具任何权限,数字代号为 "0"
如执行:chmod u=rwx,g=rx,o=r filename
就等同于:chmod u=7,g=5,o=4 filename
具体例子:
chmod 751 file
文件所有者:读、写、执行权限
同组用户:读、执行的权限
其它用户:执行的权限
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。
如:chmod 777 test -R
递归 test 目录下所有文件加 777 权限。
文件权限:
drwxrwxrwx 2 root root 4096 11月816:38 excel
drwxr-xr-- 2 777 root 4096 11月816:47 zip
共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称
d :第一位表示文件类型
d 文件夹
- 普通文件
l 链接
b 块设备文件
p 管道文件
c 字符设备文件
s 套接口文件
光标移动:
ctrl + w 往回删除一个单词,光标放在最末尾
ctrl + u 删除光标以前的字符
ctrl + k 删除光标以后的字符
ctrl + a 移动光标至的字符头
ctrl + e 移动光标至的字符尾
ctrl + l 清屏
后台运行命令:
Linux的nohup和&用法和区别:
总的来说:nohup 不挂断的运行;& : 指在后台运行。
$ nohup & // 表示一直运行直到结束
解说:
nohup ./demo.py &
&的意思是在后台运行, 当你在执行./demo.py & 的时候, 即使你用ctrl C,程序不会结束,对SIGINT信号免疫。 但是要注意, 如果你直接关掉shell后, 那么,demo.py进程会结束,对SIGHUP信号不免疫。
nohup的意思是忽略SIGHUP信号, 所以当运行nohup ./demo.py的时候, 关闭shell, 那么demo.py进程,对SIGHUP信号免疫。 但是,如果你直接在shell中用Ctrl C, 那么start.sh进程也是会消失的,对SIGINT信号不免疫。
因此要让进程真正不受shell中Ctrl C和shell关闭的影响,两者结合,完美的后台运行,对SIGINT信号、SIGHUP信号完全免疫。
后台运行的输出日志:
$ nohup ./run/train.py &
其中:nohup 命令默认输出到nohup.out文件中。./run/train.py是我们要运行的文件。
如果我不想用默认的日志输出位置怎么办?
$ nohup ./run/train.py >./log.txt 2>&1 &
其中:log.txt为写入的日志,位于当前目录下;"2>&1" 表示错误和输出都传到log.txt文件中,默认状态只把输出到log.txt文件中,但是我们这指定了输出日志的位置 >./log.txt。
重定向和管道
重定向( > ):本应显示在终端上的内容保存到指定文件中。>覆盖原文件内容(文件的日期也会自动更新),>>表示追加内容(会另起一行,文件的日期也会自动更新)。
管道( l ):当我们搜索含某个关键字的文件或文件夹时,经常需要用到管道,结合 grep ( 搜索命令 ) 一起使用。
eg:ls | grep g,ls 本来显示到屏幕的内容塞进管道的左端,然后从右端取出这些内容,在内容中搜索有 “g” 关键字的文本。
命令手册:man
man 是 Linux 提供的一个手册,包含了绝大部分的命令、函数使用说明。该手册分成很多章节(section),使用 man 时可以指定不同的章节来浏览不同的内容。
man 中各个 section 意义如下:
1、Standard commands(标准命令)
2、System calls(系统调用,如open,write)
3、Library functions(库函数,如printf,fopen)
4、Special devices(设备文件的说明,/dev下各种设备)
5、File formats(文件格式,如passwd)
6、Games and toys(游戏和娱乐)
7、Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量)
8、Administrative Commands(管理员命令,如ifconfig)
eg: 我们想查看 ls 的用法:man 1 ls ( 1:为数字“1”,代表第 1 个 section,标准命令 )
实际上,我们不用指定第几个章节也用查看,如,man ls。但是,有这个一种情况,假如,命令的名字和函数的名字刚好重名(如:printf),它既是命令,也可以是库函数,如果,我们不指定章节号,man printf,它只查看命令的用法,不会查询函数的用法,因为 man 是按照手册的章节号的顺序进行搜索的。
trick:
命令补全:
在敲出命令的前几个字母的同时,按下 tab 键,系统会自动帮我们补全命令。
历史命令:
当系统执行过一些命令后,可按上下键翻看以前的命令,history 将执行过的命令列举出来。
参考:
1.https://blog.csdn.net/tennysonsky/article/details/44338529
2.find 命令使用:https://blog.csdn.net/qq_35246620/article/details/79104520
更多推荐
所有评论(0)