文件操作
打开及查看文件夹
- 打开文件夹: cd 文件路径
- 返回上一目录:cd ..
- 列出文件夹下的所有文件:ls
- 查看文件夹下所有文件的具体信息:ls -al
打开及修改文档
- vim
- 输入
i
切换到输入模式,以输入字符 - 跳到文本的最后一行:按“G”,即“shift+g”
- 跳到最后一行的最后一个字符:先重复1的操作即按“G”,之后按“$”键,即“shift+4”。
- 跳到第一行的第一个字符:先按两次“g”
- 跳转到当前行的第一个字符:在当前行按“0”。
- 保存退出:按左上角的
Esc
按键 -> 输入:wq
删除文件夹
- 删除某一个文件
rm 文件名
- 删除整个文件夹
rm -rf /文件夹路径
(据说这个操作在某些efi机器上还会删除主板固件,造成主板固件丢失从而无法开机(比操作系统无法启动还严重,瑟瑟发抖~)
解压文件
- zip文件:**
unzip 文件名.zip
** - tar文件:**
tar -xvf 文件名.tar
** - gz文件:
gunzip 文件名.gz
- rar文件:**
rar x 文件名.rar
**
注:如果要解压到指定目录下,在上述操作之后加上-C 路径
就可以啦,比如说unzip 文件名.zip -C /home/jyl
复制文件
cp -参数 源文件或文件夹路径 目标文件夹或文件夹路径
这里的参数有:
- -a: 该选项通常在复制文件夹时使用。它保留链接、文件属性,并递归地复制文件夹,其作用等于dpR选项的组合。
- -d:拷贝时保留链接。
- -f:删除已经存在的目标文件而不提示。
- -i:和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- -p:此时cp除复制源文件的内容外,还将把其改动时间和訪问权限也拷贝到新文件里。
- -r:若给出的源文件是一文件夹文件,此时cp将递归复制该文件夹下全部的子文件夹和文件。此时目标文件必须为一个文件夹名。
- -l:不作拷贝,仅仅是链接文件。
注:为防止用户在不经意的情况下用cp命令破坏还有一个文件,如用户指定的目标文件名称已存在,用cp命令复制文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令复制文件时,最好使用i选项。
比如从/home/download
文件夹下复制123.text
到 目录/home/jyl/test
下的指令为cp -i /home/download/123.text /home/jyl/test
移动与重命名
mv 源文件目录 目标文件目录
以上命令可以将源文件目录下的文件移动到目标文件目录下
mv 修改前的文件名 想要修改成的文件名
以上命令可以给想要修改名字的文件更名
给带括号的文件更名(否则会出现错误)
mv 文件名\(带括号的部分\).后缀 去掉括号的文件名(要更新的文件名).后缀
比如:我有一个文件名为 hhh(a)hh.py
更改方式:mv hhh\(a\)hh.py hhhahh.py
本地复制文件到远程服务器上
scp -参数 本地文件或文件夹路径 服务器文件或文件夹路径
这里的参数有:
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p: 保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v: 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式。
-P port:注意是大写的P, port是指定数据传输用到的端口号。
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
以上这些参数其实我也没全用过,满足我正常传文件的需求就使用过
-r
,比如讲本地目录C:\Users\Administrator\Desktop
下的test
整个文件夹上传到服务器目录/home/jyl
下的指令为:scp -r C:\Users\Administrator\Desktop\test 服务器用户名@服务器地址:/home/jyl
注:用 scp
传输大文件不知道为什么在我的操作过程中巨慢!!(这个问题如果后期我整理出了问题所在或者解决办法再来补充),目前最成功的的解决方法是直接用 BaiduPCS-Goo
,将大文件上传到百度云之后,用此工具直接在ubuntu系统中下载下来,教程也在维的博客中出现过,贴一个链接:linux终端使用百度云的方法–BaiduPCS-Goo
查看进程状态
ps
- 查询指定进程的PID:
ps -ef|grep 进程名
- 查询指定进程名或者PID的占用情况:
ps -aux|grep 进程名/PID
top
top [-参数]
这里的可选参数为:
- d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
- p:通过指定监控进程ID来仅仅监控某个进程的状态。
- q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
- S:指定累计模式
- s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
- i:使top不显示任何闲置或者僵死进程。
- c:显示整个命令行而不只是显示命令名。
退出:ctrl+c
或者 q
其实说实话,直接 top -n 2
这里的 2
代表刷新次数,就可以了,防止top命令卡住最好用的方式哈哈哈
查看占用cpu最高的进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
查看占用内存最高的进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
查看服务器带宽
ifconfig
sudo ethtool xxx
暂时能想起来的就这么多啦,后续只要用过的指令会持续更新的!✧(≖ ◡ ≖✿
参考:
linux命令大全