Linux --基础命令学习

1. 删除文件

	rm [选项] 文件
		选项说明:
		-f    -force      忽略不存在的文件,强制删除,无任何提示
		-i    --interactive    进行交互式地删除
		-r | -R  --recursive     递归式地删除列出的目录下的所有目录和文件
		-v      --verbose    详细显示进行的步骤
		-r 就是向下递归,不管有多少级目录,一并删除
		-f 就是直接强行删除,不作任何提示的意思

删除文件夹实例:
rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

删除文件使用实例:
rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件

删除几个文件 rm 文件1 文件2
删除文件夹下面所有文件 rm * -rf
删除某些固定字母开头的文件 rm xxx*
删除一类文件 rm *.txt

批量首先查找我们要删除的某类批量的文件:
find . -maxdepth 1 -regex ".*ws.*"
maxdepth参数为1表示只在当前目录查找,不递归查找子目录
regex参数是正则表达式
上面的命令表示查找所有文件名中含有“ws”的文件。
批量删除上面查找到的文件:
find . -maxdepth 1 -regex ".*ws.*" | xargs rm -rf
xargs是把前面的输出作为后面的参数,如果多行输出,就多次执行后面的命令
有的linux系统支持的regex正则表达式不一样,可以使用下面的方式替换
find . -maxdepth 1 -name "*.c" | xargs rm -rf
还有使用下面的命令也可以:
find . -maxdepth 1 -regex ".*ws.*" -exec rm -rf {} \;

2.查看软件型号

cat /proc/driver/nvidia/version 服务器显卡驱动
nvidia-smi -L //查看显卡型号
lspic | grep –i vga//查看linux版本
grep -i vga//查看显卡型号
cat /usr/local/cuda/version.txt// cuda 版本
pkg-config opencv --modversion//查看opencv版本

3. .zip 解压

     unzip  *.zip   # 得linux系统安装了zip包,和unzip包 
  
     目录下的文件压缩到一个文件中:
     zip -q -r mydata.zip /home/data
  
	1、把/home目录下面的mydata目录压缩为mydata.zip
	zip -r mydata.zip mydata #压缩mydata目录
	2、把/home目录下面的mydata.zip解压到mydatabak目录里面
	unzip mydata.zip -d mydatabak
	3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
	zip -r abc123.zip abc 123.txt
	4、把/home目录下面的wwwroot.zip直接解压到/home目录里面
	unzip wwwroot.zip
	5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
	unzip abc\*.zip
	6、查看把/home目录下面的wwwroot.zip里面的内容
	unzip -v wwwroot.zip
	7、验证/home目录下面的wwwroot.zip是否完整
	unzip -t wwwroot.zip
	8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
	unzip -j wwwroot.zip
    9. tar解压缩
   压缩命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名
    解压命令格式:tar  -zxvf   压缩文件名.tar.gz

4. 返回目录

cd ..                  返回上一级目录
cd ../..               返回上两级目录
cd或cd ~           返回home目录
cd - 目录名       返回指定目录

5. 命令自动补全**

1)自动补全命令插件的安装
	在命令行中输入“yum -y install bash-completion”安装自动补全命令,安装完成重启即可生效。在linux中命令较长时,不易记忆,使用命令行自动补全,使用方便
	2)自动补全命令的使用方法
	在命令行输入命令的时候,首先输入前面的几个字母,这时按下TAB键,如果该命令是唯一的,那么就会自动补全,如果该命令会有很多个,那么需要再按一下TAB键,这时会显示出所有可能的情况,操作者只需要再补几个字母使命令唯一后再按一次TAB键,命令就会补全了。
	例如:我们在命令行中输入“chc”,按下TAB键,系统无反应,再次按下TAB键,系统会列出以chc开头的三个命令“chcat chcon chcpu”,这时我们多打一个字母chca按TAB,命令就会自动补全为chcat。如果命令或者文件文件夹的名字很长时,这样是很节省时间的。
	扩展:与此补全类似,还有个可以省略的写法就是文件或者文件夹的名字可以不用写全,而在后面写一个*,系统就会自动按照唯一目录的操作去执行。例如我们要进入electronic文件夹,而当前文件夹下还有一个etc文件夹,这时我们要进入electronic文件夹时只需要输入“cd ele*”就能进入到electronic文件夹下。

6. linux 与 windows 上传下载文件**

工作中需要在Linux和Windows之间传输文件时,一般使用winscp或者ftp工具来完成,最近才知道有sz和rz这两个命令,方便好用。
1)sz  下载
从Linux下载文件到本机 , 在Linux终端输入命令回车后,选择本地存储路径即可。
命令格式:    sz filename   下载文件filename
      sz file1 file2   下载多个文件
      sz dir/*   下载dir目录下所有文件
2)rz   上传
从本地上传文件到Linux,在Linux终端输入命令回车后,选择本地要上传的文件即可,可一次指定多个文件
命令格式:    rz
注意:
1.如果机器上没有安装过 lrzsz 安装包,则无法使用rz和sz命令。
 可使用yum命令安装:yum install -y lrzsz
   或者下载源码进行安装。下载地址:https://ohse.de/uwe/software/lrzsz.html
2.上传和下载都默认使用Linux当前登录的用户,使用时要根据个人需要修改文件的权限

7. linux 退出more

  q健

8. 查看文件大小

ls-lh ,,返回字节,M

9. 模糊查找文件

相对路径:find ./ -name "*.xml"
根目录:  find / -name "**xml"  

10. 文件或文件夹的复制命令


(1).cp命令

命令:cp dir1/a.doc dir2 表示将dir1下的a.doc文件复制到dir2目录下

cp -r dir1 dir2 表示将dir1及其dir1下所包含的文件复制到dir2下

cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录

说明:cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖;

(2).scp命令

例如:scp id_rsa.pub router_17@IP:/home/router_17/.ssh/authorized_keys可以实现将A电脑上的pub文件拷贝到B电脑上某个位置。同cp一样,如果复制的是整个文件夹的内容,则应使用scp -r 命令。

扩展阅读

文件移动(mv)

文件移动不同于文件拷贝,文件移动相当于我们word中的术语剪切和粘贴。

命令:mv AAA BBB 表示将AAA改名成BBB

说明:目标目录与原目录一致,指定了新文件名,效果就是仅仅重命名。目标目录与原目录不一致,没有指定新文件名,效果就是仅仅移动。目标目录与原目录不一致,指定了新文件名,效果就是:移动 + 重命名。

11. 查看文件大小

  ls -ll : 显示文件大小,以字节大小
  ls -lh : 以mb单位显示
 du -h -max,可以查看当前目录下各文件、文件夹的大小,这个比较实用。
 du -sh:  查询当前目录总大小可以使用du -sh,其中s代表统计汇总的意思,即只输出一个总和大小。
du -sh 目录名称 :  如果只想查看指定目录的总大小,可以使用du -sh 目录名称
du -h --max-depth=1   ## 查看当前文件夹大小
 du -h --max-depth=1   ## 查看当前文件夹大小和子文件大小

12 . 查看僵尸进程与杀死

bash 顽固进程,最后用: kill -s 9 pid 杀掉了
 ps -ef | grep defunct | grep -v grep | wc -l  
杀死僵尸进程
s -e -o ppid,stat | grep Z | cut –d” ” -f2 | xargs kill -9
kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`

ps命令查找与进程相关的PID号:
ps a :显示现行终端机下的所有程序,包括其他用户的程序。
ps -A :显示所有程序。
ps c :列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e :此参数的效果和指定"A"参数相同。
ps e :列出程序时,显示每个程序所使用的环境变量。
ps f :用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H :显示树状结构,表示程序间的相互关系。
ps -N :显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s :采用程序信号的格式显示程序状况。
ps S :列出程序时,包括已中断的子程序资料。
ps -t:<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u :以用户为主的格式来显示程序状况。
ps x :显示所有程序,不以终端机来区分。

杀死进程
kill pId
 kill -9 pid
 超级详细进程

eg: kill 14396 //杀死进程pId为14396的进程

13. 查看当前目录空间大小

  df -h   当天目录空间大小,以及使用情况
  ll -sh  查看当前 文件大小

14 修改文件或者目录权限

  chmod -R 777 ./test_data          ##读写权限 
  权限状态可以分成 3 个部分。

第 1 部分,表 1 中的第 1 列,表示要设定某个用户的状态,其具体表示如下。
u:表示所有者(owner)的权限;
g:表示群组(group)的权限;
o:表示既不是 owner 也不与 owner 在同一个 group 的其他用户(other)的权限;
a:表示以上 3 组,也就是所有用户的权限。

第 2 部分,表 1 中的第 2 列是运算符,其具体表示如下:
+:表示在现有权限的基础上增加权限;
-:表示在现有权限的基础上移除权限;
=:表示将权限设置为后面的值。

第 3 部分,表 1 中的第 3 列,表示权限,其具体表示如下:
r:表示 read(读)权限;
w:表示 write(写)权限;
x:表示 execute(执行)权限。

15 查看端口占用

(1)lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,
lsof -i:8000

(2)netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,
如查看8000端口的情况,netstat -tunlp |grep 8000

(3)删除该端口下的进程
kill -9 进程id

16. 粘贴出现~0 ,~1

printf “\e[?2004l”

17 进程守卫 nohup

注释: 可以让进程在后台执行
nohup python app.py &, 带有进程id(如果后面手工珊进程,需要保存)

杀进程:
kill -9 进程ID

如果忘记进程ID,可通过:
jobs -l 查看当前运行进程、
ps -aux|grep ***, 此处为运行的任务名,可查看相关任务。

查看端口号对应的进程ID
lsof -i:5001

查看进程ID对应的应用程序
ps -ef | grep 14116

18.SecureRT 堡垒机文件传输到服务器上

ALT+P, 进入sftp下面。
访问远程服务器
pwd # 查看堡垒机当前路径

put # 将本地文件传到linux上
ls # 查看堡垒机是登录上。

访问本地
lcd E:\BaiduNetdiskDownload
lpwd # 查看本地路径, linux 前面加上l

#将堡垒机上的文件,传到堡垒机登录的服务器上面
scp pytorch_model.bin root@[服务器ip]:/data/ask_match/data/RoBERTa_zh_L12_PyTorch/
enter后输入密码

19 tmux 后台启动任务

(1)先启动一个tmux的会话窗口tmux new -s train_model

(2)contorl + z挂起任务
在这里插入图片描述

# 查看有所有tmux会话
指  令:tmux ls

# 新建tmux窗口
指  令:tmux new -s <session-name>
eg:tmux new -s train_model

# 启动环境
指令:conda activate env_name  
eg:conda activate env_name

#启动脚本
指令: eg,  python train.py 

# 重命名会话
指  令:tmux rename-session -t <old-name> <new-name>

# 暂时退出会话(后台保持运行)
快捷键:Ctrl+b 然后d

# 重新连接会话
指  令:tmux a -t <session-name>  

# 杀死会话
指  令:tmux kill-session -t <session-name>

# 日志重定向(同linux 日志重定向)

bash run.sh > log.txt

sudo apt-get install tmux   # 安装
tmux                        # 进入tmux窗口
exit                        # 推出tmux窗口,或者使用快捷键[ Ctrl+d ]
tmux new -s ${session-name} # 创建一个会话,并设置绘画名
# 快捷键[ Ctrl+b ] 是tmux的前缀键,用完前缀键后可以继续按指定键来完成指定命令
[ Ctrl+b ] [ d ]                         # 将会话与窗口分离,或者[ Ctrl+b ] tmux detach
tmux ls                                  # 查看所有会话,或者使用tmux list-session
tmux attach -t ${session-name}           #  根据会话名将terminal窗口接入会话
tmux kill-session -t ${session-name}     #  根据会话名杀死会话
tmux switch -t ${session-name}           # 根据会话名切换会话
tmux rename-session -t 0 ${session-name} # 根据会话名,重命名会话

[terminal]: tmux new -s train_model       # 创建一个会话,并设置绘画名:train_model
[tmux]: conda activate env_name           # 在tmux会话中,我们激活我们要使用的conda环境
[tmux]: python train.py                   # 在tmux会话中,开始训练我们的模型
[tmux]: [ Ctrl+b ] [ d ]                  # 将会话与窗口分离
[terminal]: tmux ls                       # 查看我们刚刚创建的会话
[terminal]: watch -n 1 -c gpustat --color # 监控我们的gpu信息


20 supervisorctl启动任务

好的,假设您有一个名为`myapp`的应用程序在 Supervisor 中进行管理。以下是一些可能的 `supervisorctl` 命令示例:

1. 查看所有进程的状态:

   ```bash
   supervisorctl status

这会列出所有由 Supervisor 管理的进程以及它们的状态。

  1. 启动 myapp 进程:

    supervisorctl start myapp
    

    这会启动名为 myapp 的进程。

  2. 停止 myapp 进程:

    supervisorctl stop myapp
    

    这会停止名为 myapp 的进程。

  3. 重新启动 myapp 进程:

    supervisorctl restart myapp
    

    这会重新启动名为 myapp 的进程,相当于先停止再启动。

这只是简单的例子,实际使用中会根据您的 Supervisor 配置和应用程序需求而有所不同。希望这些示例能帮助您更好地理解 supervisorctl 的基本用法。如果有其他问题,欢迎提问!

20 查看linux系统型号信息

cat /etc/os-release

在这里插入图片描述

21 rsync断点续传

`rsync` 是一个用于文件同步和传输的强大工具。它允许在本地系统之间或本地和远程系统之间同步文件和目录。以下是一些常用的 `rsync` 命令和选项:

1. **基本语法**:
   ```bash
   rsync [选项] 源目录/文件 目标目录
  1. 例子:

    • 本地同步:
      rsync -avh /源目录/ /目标目录/
      
    • 从本地复制到远程服务器:
      rsync -avh /源目录/ 用户@远程服务器:/目标目录/
      
  2. 常用选项:

    • -a--archive: 归档模式,递归复制并保留文件属性。
    • -v--verbose: 显示详细输出,可帮助跟踪同步过程。
    • -h--human-readable: 以人类可读的格式显示文件大小。
    • --delete: 删除目标目录中不在源目录中的文件。
  3. 示例:

    • 从本地同步到远程并删除远程不存在的文件:
      rsync -avh --delete /源目录/ 用户@远程服务器:/目标目录/
      

请根据您的具体需求和情况调整这些命令。如果您有特定的问题或需要更详细的解释,请告诉我。

rsync 是一个用于文件同步和传输的强大工具。它允许在本地系统之间或本地和远程系统之间同步文件和目录。以下是一些常用的 rsync 命令和选项:

  1. 基本语法:

    rsync [选项] 源目录/文件 目标目录
    
  2. 例子:

    • 本地同步:
      rsync -avh /源目录/ /目标目录/
      
    • 从本地复制到远程服务器:
      rsync -avh /源目录/ 用户@远程服务器:/目标目录/
      
  3. 常用选项:

    • -a--archive: 归档模式,递归复制并保留文件属性。
    • -v--verbose: 显示详细输出,可帮助跟踪同步过程。
    • -h--human-readable: 以人类可读的格式显示文件大小。
    • --delete: 删除目标目录中不在源目录中的文件。
  4. 示例:

    • 从本地同步到远程并删除远程不存在的文件:
      rsync -avh --delete /源目录/ 用户@远程服务器:/目标目录/
      

请根据您的具体需求和情况调整这些命令。如果您有特定的问题或需要更详细的解释,请告诉我。
``

22 查看服务器硬件配置

#查看内存
cat /proc/meminfo | grep MemTotal

# 查看cpu
lscpu

23 给文件夹赋予root权限

sudo chmod -R 777 * 给当前目录所有权限, 出现premission denise时操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值