Skip to content

Linux基础

星海智算平台推荐使用Ubantu实例,因此在这里提供常见的Linux命令。

1、目录操作

切换目录

bash
  cd /                 //切换到根目录
  cd /bin              //切换到根目录下的bin目录
  cd ../               //切换到上一级目录 或者使用命令:cd ..
  cd ~                 //切换到home目录
  cd -                 //切换到上次访问的目录
  cd xx(文件夹名)       //切换到本目录下的名为xx的文件目录,如果目录不存在报错
  cd /xxx/xx/x         //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全

查看目录(ls)

bash
  ls                   //查看当前目录下的所有目录和文件
  ls -a                //查看当前目录下的所有目录和文件(包括隐藏的文件)
  ls -l                //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
  ls /bin              //查看指定目录下的所有目录和文件

创建目录(mkdir)

bash
  mkdir tools          //在当前目录下创建一个名为tools的目录
  mkdir /bin/tools     //在指定目录下创建一个名为tools的目录

删除目录与文件(rm)

bash
  rm 文件名              //删除当前目录下的文件
  rm -f 文件名           //删除当前目录的的文件(不询问)
  rm -r 文件夹名         //递归删除当前目录下此名的目录
  rm -rf 文件夹名        //递归删除当前目录下此名的目录(不询问)
  rm -rf *              //将当前目录下的所有目录和文件全部删除

修改目录(mv)

bash
  mv 当前目录名 新目录名        //修改目录名,同样适用与文件操作
  mv /usr/tmp/tool /opt       //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
  mv -r /usr/tmp/tool /opt    //递归剪切目录中所有文件和文件夹

拷贝目录(cp)

bash
  cp /usr/tmp/tool /opt       //将/usr/tmp目录下的tool目录复制到 /opt目录下面
  cp -r /usr/tmp/tool /opt    //递归剪复制目录中所有文件和文件夹

搜索目录(find)

bash
  find /bin -name 'a*'        //查找/bin目录下的所有以a开头的文件或者目录

查看当前目录(pwd)

bash
   pwd                         //显示当前位置路径

2、文件操作

新增文件(touch)

bash
    touch  a.txt         //在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间

删除文件(rm)

bash
  rm 文件名              //删除当前目录下的文件
  rm -f 文件名           //删除当前目录的的文件(不询问)

编辑文件(vim)

bash
   vi 文件名              //打开需要编辑的文件
  --进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
  命令模式
  -刚进入文件就是命令模式,通过方向键控制光标位置,
  -使用命令"dd"删除当前整行
  -使用命令"/字段"进行查找
  -按"i"在光标所在字符前开始插入
  -按"a"在光标所在字符后开始插入
  -按"o"在光标所在行的下面另起一新行插入
  -按":"进入底行模式
  插入模式
  -此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
  -按"ESC"进入底行模式
  底行模式
  -退出编辑:      :q
  -强制退出:      :q!
  -保存并退出:    :wq
  ## 操作步骤示例 ##
  1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车     //保存并退出编辑
  2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车     //撤销本次修改并退出编辑
  ## 补充 ##
  vim +10 filename.txt                   //打开文件并跳到第10行
  vim -R /etc/passwd                     //以只读模式打开文件

3、文件权限

权限说明

bash
  文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),括号内代表"8421法"
  ##文件权限信息示例:-rwxrw-r--
  -第一位:'-'就代表是文件,'d'代表是文件夹
  -第一组三位:拥有者的权限
  -第二组三位:拥有者所在的组,组员的权限
  -第三组三位:代表的是其他用户的权限

文件权限(chmod)

bash
  普通授权    chmod +x a.txt    
   8421法     chmod 777 a.txt     //1+2+4=7,"7"说明授予所有权限

4、打包与解压

说明

bash
  .zip、.rar        //windows系统中压缩文件的扩展名
  .tar              //Linux中打包文件的扩展名
  .gz               //Linux中压缩文件的扩展名
  .tar.gz           //Linux中打包并压缩文件的扩展名

打包文件

bash
   tar -zcvf 打包压缩后的文件名 要打包的文件
  参数说明:z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
  示例:
  tar -zcvf a.tar file1 file2,...      //多个文件压缩打包

解压文件

bash
  tar -zxvf a.tar                      //解包至当前目录
  tar -zxvf a.tar -C /usr------        //指定解压的位置
  unzip test.zip             //解压*.zip文件 
  unzip -l test.zip          //查看*.zip文件的内容

5、其他常用命令

find命令

bash
  find . -name "*.c"     //将目前目录及其子目录下所有延伸档名是 c 的文件列出来
  find . -type f         //将目前目录其其下子目录中所有一般文件列出
  find . -ctime -20      //将目前目录及其子目录下所有最近 20 天内更新过的文件列出
  find /var/log -type f -mtime +7 -ok rm {} \;     //查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
  find . -type f -perm 644 -exec ls -l {} \;       //查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
  find / -type f -size 0 -exec ls -l {} \;         //为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径

grep命令

bash
  grep -i "the" demo_file              //在文件中查找字符串(不区分大小写)
  grep -A 3 -i "example" demo_text     //输出成功匹配的行,以及该行之后的三行
  grep -r "ramesh" *                   //在一个文件夹中递归查询包含指定字符串的文件

free命令

bash
   说明:这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况 
  free -g            //以G为单位输出内存的使用量,-g为GB,-m为MB,-k为KB,-b为字节 
  free -t            //查看所有内存的汇总

df命令

bash
  说明:显示文件系统的磁盘使用情况
  df -h            //一种易看的显示

scp命令

bash
这里ssh -p 31029 user@mmvjsmpvqlhkgvjv.deepln.com为例
从本地复制到远程:
scp -P 31029 <> user@mmvjsmpvqlhkgvjv.deepln.com:/home/user/  ##(这里用户默认目录为/home/user/)
scp -rP 31029 <文件> user@mmvjsmpvqlhkgvjv.deepln.com:/home/user/  
从远程复制到本地:
scp -rP 31029  user@mmvjsmpvqlhkgvjv.deepln.com:/home/user/<文件夹> C:\Users\Administrator\Desktop\<文件夹> 
scp -P 31029  user@mmvjsmpvqlhkgvjv.deepln.com:/home/user/ <文件>  C:\Users\Administrator\Desktop\<文件>

wget命令

bash
 说明:使用wget从网上下载软件、音乐、视频 
  示例:wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
  //下载文件并以指定的文件名保存文件
  wget -O nagios.tar.gz http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

6、GPU常用命令

nvidia-smi命令

bash
Memory-Usage # 内存使用情况
148MiB /  23040MiB  # 前者表示已使用的显存,后者代表总的显存

GPU-Util # GPU使用率
0% # 表示GPU使用率百分比

Pwr:Usage/Cap
49W /  250W  #前者表示GPU使用功率,后者表示GPU最大功耗

ps命令

查看进程命令 输入命令:ps -ef

kill命令

bash
 杀死进程命令:
kill -9 <进程> #强制删除进程
kill <进程> #删除进程
例:删除python test.py进程,输入命令:kill -9 14482

ps命令

top命令用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。默认进入top时,各进程是按照CPU的占用量来排序的。