1. 查看目录下文件数量
# 1. 包含子目录
ls -lR ./nvd_vul_details_sourcecode/ | grep "^-" | wc -l
# 2. 不包含子目录
ls -l ./nvd_vul_details_sourcecode/ | grep "^-" | wc -l
2. 打包解包命令
Linux 打包解包命令(.tar/.gz/.tar.gz/.zip)
1. (.tar)tar是打包,不是压缩
打包:tar cvf filename.tar dirname
打包多个文件:tar cvf filename.tar file1 file2
解包:tar xvf filename.tar
2. (.tar.gz)
压缩:tar zcvf filename.tar.gz dirname
解压:tar zxvf filename.tar.gz
3. (.gz)
压缩:gzip filename
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
4. (.tar.bz2)
压缩:tar jcvf filename.tar.bz2 file
解压:tar jxvf filename.tar.bz2
5. (.bz2)
压缩:bzip2 -z filename
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
6. (.rar)
压缩:rar a filename.rar filename
解压:rar x filename.rar
7. (.zip)
压缩:zip filename.zip dirname
解压:unzip filename.zip
3. 查看linux 资源
# 磁盘空间 (-h 是以1024 为幂 获取大小)
df -h
# 内存大小
free -h
# 查看cpu使用情况
top
htop
# 查看cpu 信息
cat /proc/cpuinfo
# 查看 cpu 核数
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4. scp 命令
scp
用于不同Linux
之间复制文件和目录scp
是 secure copy
的缩写, scp
是 Linux
系统下基于 ssh
登陆进行安全的远程文件拷贝命令scp
加密传输,rcp
不加密
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2
-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)的选项。
4.1 使用 (本地目录/文件复制到远程地址)
# 指定用户名,命令执行需要输入密码。指定远程目录,文件复制名字不变
scp local_file remote_username@remote_ip:remote_folder
# 指定用户名,命令执行需要输入密码。指定远程文件名
scp local_file remote_username@remote_ip:remote_file
# 没有指定用户名,命令执行后需要输入用户名和密码。指定远程目录,文件复制名字不变
scp local_file remote_ip:remote_folder
# 没有指定用户名,命令执行后需要输入用户名和密码。指定远程文件名
scp local_file remote_ip:remote_file
# 实例
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3
# 指定了用户名,命令执行后需要再输入密码
scp -r local_folder remote_username@remote_ip:remote_folder
# 未指定用户名,命令执行后需要输入用户名和密码
scp -r local_folder remote_ip:remote_folder
# 实例
scp -r /home/space/music/ root@www.runoob.com:/home/root/others/
scp -r /home/space/music/ www.runoob.com:/home/root/others/
4.2 使用 (远程目录/文件复制到本地)
# 与上面命令类似
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
4.3 特殊情况(说明)
# 1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,
# 命令格式如下:
#scp 命令使用端口号 ****
scp -P **** remote@www.runoob.com:/usr/local/sin.sh /home/administrator
# 2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
5. kill 进程
# 杀死进程
kill pid
# 强制杀死进程
kill KILL pid
# 彻底杀死进程
kill -9 pid
# 删除同类型进程
ps -aux | grep npm | grep -v grep | awk '{print $2}' | xargs kill
ps -aux | grep npm | grep -v grep | awk '{print $2}' | xargs -i kill -9 {}
命令解释:
ps -aux | grep npm --> 查询包含 npm 进程
ps -aux | grep npm | grep -v grep --> 查询包含 npm 进程
grep -v grep --> 查询不包含grep 进程
即:sectrend 23393 0.0 0.0 13140 1108 pts/8 R+ 07:03 0:00 grep --color=auto npm --> 这行进程信息移除
awk '{print $2}' --> 获取本行的第二个字段,即:进程ID
xargs -i kill -9 {} --> 依次循环 kill 对应进程
6. pwdx | pwd
pwdx pid
查看当前 pid 进程启动时的工作目录
pwd
查看当前目录的绝对路径