【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

  • 52
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值