【Terminal】终端常用命令


Linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统。Linux系统性能稳定,是整体开源的软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。

在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,它还被当作服务器,甚至当作网络防火墙,这是Linux的一大亮点。

---升阶命令

参考:GitHub - ibraheemdev/modern-unix: A collection of modern/faster/saner alternatives to common unix commands.

---scp

Linux scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。【scp [可选参数] file_source file_target】

参考:

Linux scp命令 | 菜鸟教程 (runoob.com)

用winscp从本地上传文件到服务器上出现复制文件到远端时错误 - Will-Zhong - 博客园 (cnblogs.com)

---服务器内存使用

free

1、free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。free命令默认是显示单位kb,可以采用free -m和free -g命令查看,分别表示MB和GB。另外,free -h会自动选择以适合理解的容量单位显示。 

2、Mem: 表示物理内存统计,如果机器剩余内存非常小,一般小于总内存的20%,则判断为系统物理内存不够; Swap: 表示硬盘上交换分区的使用情况,如剩余空间较小,需要留意当前系统内存使用情况及负载,当Swap的used值大于0时,则表示操作系统物理内存不够,已经开始使用硬盘内存了。

3、当Linux的物理内存快被耗尽时,系统会把一些进程占用的内存转移swap区,当物理内存被释放一部分时,swap区的一些内存占用又慢慢回到mem区,但是mem区却不再是之前的满负荷状态,而是有一部分free的内存!  

top top 命令查看系统的实时负载, 包括进程、CPU负载、内存使用等等。键入 q 退出。  

 

df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

df [选项] [文件]

  • df -hl 查看磁盘剩余空间
  • df -h 查看每个根路径的分区大小

---GPU

参考:科普帖:深度学习中GPU和显存分析

nvidia-smi 是Nvidia显卡命令行管理套件,基于NVML库,旨在管理和监控Nvidia GPU设备。

显存占用和GPU利用率是两个不一样的东西,显卡是由GPU计算单元和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。

这里推荐一个好用的小工具:gpustat,直接pip install gpustat即可安装,gpustat基于nvidia-smi,可以提供更美观简洁的展示,结合watch命令,可以动态实时监控GPU的使用情况。

GPU计算单元类似于CPU中的核,用来进行数值计算。衡量计算量的单位是flop: the number of floating-point multiplication-adds,浮点数先乘后加算一个flop。计算能力越强大,速度越快。衡量计算能力的单位是flops: 每秒能执行的flop数量。

---文件

【cd ~】        跳转到当前用户根目录下

【rm file】       删除file文件

【rm -rf file/fold】          强制删除文件file,或者删除文件夹fold及其内容 【ls -a】        打开目录下所有文件列表

【mvdir path1 path2】      移动或者重命名目录 跟着两个目录名就是重命名

【mkdir】       创建目录

mkdir -p BBB/Test】    在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)

【pwd】      显示当前目录的路径

【dircmp】     比较两个目录的内容

【cp】       复制文件

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

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

【mv A B】     将目录A重命名为B(同重命名文件)

【mv /a /b/c】     将/a目录移动到/b下,并重命名为c

【mv /home/1.txt /opt/】     是将home文件夹下的1.txt文件,移动到opt文件夹下,然后home文件夹下的1.txt文件将被删除

【cat file】      显示文件内容

【ls -a】 显示当前目录下的所有文件及文件夹包括隐藏的.和..等

【ls -al】 显示当前目录下的所有文件及文件夹包括隐藏的.和..等的详细信息

【ls -lR | grep "^-" | wc -l 】    查看当前目录下有多少文件(包括子文件夹里面的),R代表子目录

【ls -l|grep "^-"| wc -l】      查看当前目录下的文件数量(不包含子目录中的文件)

【ls -l|grep "^d"| wc -l】    查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上,如果需要查看子目录的,加上R

【ls -lR|grep ^d|wc -l】    查看某文件夹下文件夹的个数,包括子文件夹里的。

【7z x file.7z 】     解压 file.7z

【7z x file.7z -o./mydir -aoa】   详细命令解释见下表:

x 表示解压缩,并且使得压缩包内的文件所在的目录结构保持不变。
如果希望解压缩后所有的文件都存放在同一个目录下,则使用 e 命令。
-o./mydir 表示把压缩包内的文件解压缩到 ./mydir 目录下。-o 这个参数用于指定输出目录。
覆盖选项 -aoa:表示直接覆盖现有文件,而没有任何提示
-aos:跳过现有文件,其不会被覆盖。
-aou:如果相同文件名的文件以存在,将自动重命名被释放的文件。Eg:文件 file.txt 将被自动重命名为 file_1.txt。
-aot:如果相同文件名的文件以存在,将自动重命名现有的文件。Eg:文件 file.txt 将被自动重命名为 file_1.txt。

【7za x test.zip -r -o./】    不同于7z,7za是独立的执行文件,-r 表示递归解压缩所有的子文件夹,-o./ 为当前目录

【tar -xzvf file.tar.gz 】     解压 file.tar.gz

【tar -xf file.tar】     解压 file.tar,-x 是解开的意思。

【tar -rf all.tar *.gif】    将所有.gif的文件增加到all.tar的包里面去。-f,是最后一个参数,后面只能接档案名。-r是表示增加文件的意思。

【unzip test.zip】       将压缩文件text.zip在当前目录下解压缩

【unzip -v test.zip】      查看压缩文件目录,但不解压

【unzip elasticsearch-head-master.zip -d head/】       如果要把文件解压到指定的目录下,需要用到-d参数

【unzip -n test.zip -d test/】【unzip -n -d test/ test.zip】       将压缩文件text.zip在指定目录/tmp下解压缩(-d),如果已有相同的文件存在,要求unzip命令不覆盖原先的文件(-n)

【find . -name "*.java"】       find 将开始在当前目录(用“.”表示)中查找任何扩展名为“java”的文件

【find . -name '*.mp4' |wc -l】    返回当前目录(包含子目录)中后缀.mp4的文件数目 (wc -l表示统计输出信息的行数,因为经过前面的过滤已经只剩下普通文件,一个目录或文件对应一行,所以统计的信息的行数也就是目录或文件的个数)

---用户

【su username】【su - username】    

su是(switch user)切换用户的缩写。通过su命令,可以从普通用户切换到root用户,也可以从root用户切换到普通用户。从普通用户切换到root用户需要密码(该密码是普通用户的密码),从root用户切换到普通用户不需要密码。

  • $表示普通用户
  • #表示超级用户,也就是root用户

当使用命令 su username时,对话特征和原始的登录身份一样。如果想要对话进程拥有转换后的用户 ID一致的特征,要使用短斜杠: su – username。

sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。

sudo su 运行sudo命令给su命令提权,运行su命令。 要求执行该命令的用户必须在sudoers中才可以。

【chmod -R 777 /dir1/dir2/】     设置dir1/dir2/的权限

~在Linux中代表用户主目录:对一般用户,~表示/home/(用户名);对于root用户,~表示/root 

如果要查看~的真实面貌,可以先进入~目录,然后用pwd -P命令查看~的绝对路径:【cd ~】【pwd -P】

Windows

Windows操作系统,是由美国微软公司(Microsoft)研发的操作系统,问世于1985年。起初是MS-DOS模拟环境,后续由于微软对其进行不断更新升级,采用了图形用户界面(GUI),提升易用性,使Windows成为了应用最广泛的操作系统。

---文件

目的 命令解析
cd跳转目录 添加强制跳转参数/d,即cd /d+path,其中path为目的路径,直接跟在/d后面,无空格。
查看文件 dir,相当于linux系统下的命令ls

参考

[1] Terminal,git,vim常用命令整理以及删除本地git仓库

[2] 如何查看linux服务器内存使用情况 - 疯了的小蜗 - 博客园 (cnblogs.com)

[3] unzip解压失败( cannot find zipfile directory)

[4] 【Linux】Linux统计文件夹、文件数量的命令


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM