1、scp
命令
Linux scp
命令用于 Linux 之间复制文件和目录。
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)的选项。
具体用法
1、从本地将文件传输到服务器
scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp /home/workspace/convert/test.png kylin@192.168.1.1:/kylin
2、从本地将文件夹传输到服务器
scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp -r /home/workspace/convert kylin@192.168.1.1:/kylin
3、将服务器上的文件传输到本地
scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp kylin@192.168.1.1:/data/default/test.txt /home/workspace/convert
4、将服务器上的文件夹传输到本地
scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp -r kylin@192.168.1.1:/data/default/test.txt /home/workspace/convert
经常用法:先ssh登录另一个linux系统然后
scp test.txt hsm@192.168.159.1 ~/ZFS
2、文件权限命令 待补充chown
<1>ls -al
查看文件命令
ls -al
drwxr-xr-x 22 hsm hsm 4096 Sep 19 05:58 ..
[权限] [链接] [拥有者] [用户组] [文件容量] [修改日期] [文件名]
其中:权限有三组owner、group、others
r-可读4 w-可写2 x-可执行1 ==7
<2>chmod
修改文件权限
chmod -R 770 .bashrc
其中:-r是递归,将目录下的所有文件都进行修改
<3>chown
修改文件所属群组
sudo chown -R user:user seaair.txt
3、shell脚本学习
smb命令:smb://ip
git clone user@ip:/home/user/仓库路径
4、文件操作命令
# cd #切入目录
# pwd #显示当前的目录路径
# mkdir #建立一个新的目录
# rmdir #删除一个空目录
4.1查找文件命令find
待补充whereis
<1>查找名为test.txt 文件
sudo find / -name test.txt
<2>在这些文件中查找含有内容hsm的文件
grep "hsm" (上面搜到的路径)
原型:grep [-A] [-B] [--color=auto] '查找的字符串' filename
-a:后面加数字n,除了目标行后续的n行也读出来
4.2打开文件命令cat
# cat file.txt #打开file.txt文件,将内容输入到终端
# more
# less
4.3复制文件
# cp -r /opt/influxdb/ /home/ #移动目录到/home中
# cp -f test.txt test01.txt #将test.txt改名为test01.txt
# cp test.txt /home/ows.txt #将文件test.txt改改名复制到/home/ows.txt中
## 4.3创建文件命令touch
待补充
5、vim常用命令
vim分为三种模式:一般模式、编辑模式、命令行模式
其中,直接用vim打开文件就是进入到一般模式,在该模式下可以进行复制粘贴处理文件内容,但是无法编辑文件内容;
在一般模式里面按下[i、I、o、O、a、A、r、R]才会进入到编辑模式,按下Esc可以回到一般模式中;
在一般模式里面按下[ :/ ?]中任何一个都可以将光标移动到最下面一行。、
三种模式的关系如下图所示:
vim常用命令:
1、i 进入编辑模式
2、:wq 保存并退出 :wq!强制写入
3、ctrl+b 屏幕向上移动一页 ctrl+f 屏幕向下移动一页
4、home(0) end($) 光标移动到这一行的最前面或后面
5、光标移动命令:
5.1、G 光标移动到该文件的最后一行 gg光标移动到文件的第一行
5.2、0 光标移动到该行的起始位置,$ 移动到该行的最后面
6、插入命令:
6.1、i 从光标所在出插入
6.2、a 从光标所在处下一个字符开始插入; A 从光标所在行最后一个字符插入
6.3、o 从光标所在的下一行插入新的一行; O 从光标所在出的上一个行插入新的一行
6、/word 向光标之下查找word字符串,输入字符n查找下一个位置
7、:1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将其替换为word2,在替换前需要用户确认
6、 数据刷进内存中命令
在Linux系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync
命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。
7、压缩解压缩文件命令
1、压缩解压.tar.gz格式
格式:tar [参数] [打包后的文件名] [需要打包的文件或目录]
参数:
-c 产生tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解压.tar文件
# tar -zcvf test.tar.gz test #压缩文件test到test.tar.gz中
# tar -xzvf test.tar.gz #将test.tar.gz 解压到当前目录中去(可用谐音其记忆“小镇微风”)
2、压缩解压.gz格式
#gzip test //创建test.gz压缩包
#gzip -d test.gz
3、安装deb软件包
# dpkg -i *.deb #软件包管理器安装dep软件包
8、Linux中抓包工具使用
9、进程管理命令
9.1查看进程
方法一:打开isystem monitor
gnome-system-monitor
方法二:
功能强大的ps
命令
ps aux
# ps aux | grep ows
ps
命令用于报告当前系统的进程状态。可以搭配kill
指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
上图中各字段解释:
USER:启动该进程的用户账号名称 PID:该进程的ID号,在当前系统中是唯一的 %CPU:CPU占用的百分比 %MEM:内存占用的百分比
VSZ:占用虚拟内存(swap空间)的大小 RSS:占用常驻内存(物理内存)的大小
TTY:该进程在哪个终端上运行。“?”表未知或不需要终端 STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
START:启动该进程的时间 TIME:该进程占用CPU时间 COMMAND:启动该进程的命令的名称
9.2、杀死进程
方法一:在system-monitor中右键杀死进程
方法二:通过kill 进程id的方式
#ps -ef|grep firefox #可以查到firefox的进程id
#kill -9 3781 #参数-9是强制终止进程(在终端中是第二个参数))
方法三:pkill
或者killall
命令
#pkill qtcreator
#killall -9 qtcreator
10、将终端输出信息记录到文件中
1、用>
或者>>
输出重定向
# ls > flie.txt #或者 ls-->file.txt #把ls命令的运行结果保存到文件file.txt中
# > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
# >> 是把输出附向到文件的后面,文件原内容会保留下来
2、tee命令
我们使用输出转向,命令在终端上的输出转向到了文件中,但如果希望能同时在终端上看到输出信息可以使用tee
命令
# ls | tee -a file.txt #-a 参数附加至给出的文件,而不是覆盖它
3、script命令
script这个命令很强大,可以记录终端的所有输出到相应的文件中。
# script #启动script时没有指定文件名,它会自动记录到当前目录下一个名为 typescript的文件中。也可以用 -a参数 指定文件名
# ls
# cat file.txt #此时终端的输出内容被记录到typescript这个文件中
# exit #退出script
11、关机&重启
halt
命令相当于shutdown -h now
,表示立刻关机。reboot
命令相当于shutown -r now
,表示立刻重新启动。
# init 0 关机
# init 6 重启
12、查看文件所占大小
#du -sm name //name 文件名
13、修改用户密码
#passwd //修改user的密码
#sudo passwd root //修改root用户的密码
14、查看动态库
# ldd //一般在bin目录下执行
# ldd -r libxx.so 查出undefined symbol的项,
# c++filt _xxxx 定位到函数
# nm命令
15、软链接和硬链接
#ln -s file link //创建软链接
#ls -il //查看软链接
#ln file link //创建硬链接
///无论是软链接还是硬链接,文件都保持同步变化
//比如我的文件在 /opt/cs 下面,我想在 /opt/var/cs 这个路径下面也能访问到,那么应该这样来做
#ln -s /opt/cs /opt/var /opt/var下面不用创建cs这个目录,会自动创建
软链接和硬链接的区别 :
16、修改屏幕的分辨率
#sudo xrandx -s 2560x1440
//系统启动时加载的文件有
#etc/profile.d
17、安装deb包
//使用dpkg命令安装.deb文件使用dpkg命令安装文件,我们将使用-i参数。
#sudo dpkg -i ./google-chrome-stable_current_amd64.deb
//如果遇到缺少依赖项的任何问题,则必须运行以下apt命令对其进行修复:
#sudo apt install -f
//要通过dpkg命令删除软件包,我们将使用-r以下示例中的参数:
#sudo dpkg -r Google-chrome-stable