linux学习三
一、拷贝和移动命令
1、tree命令
安装:sudo apt install tree
在安装的时候遇到一个bug,锁被占用,这是因为在前次使用虚拟机的时候有安装没有完成,这个时候有两种解决方式:
1、ps -e|grep apt //得到install进程的pid
执行sudo kill pid //杀死未执行完的进程
2、强制释放锁:
sudo rm /var/cache/apt/arcives/lock
sudo rm /var/lib/dpkg/lock
3、如果上面的方法都不行,建议将虚拟机关机重新开机(别问我是怎么知道的TT)
作用:将文件的结构以树状的方式显示。
例如:tree Desktop
参数:-d:只显示目录。
2、cp
作用:将文件或者目录复制到另一个文件或目录。
例如:cp ~/Desktop/123.txt ~/Desktop/234.txt
将Desktop下的123.txt复制到Desktop下的234.txt。
参数:
- -f:已经存在的目标文件直接覆盖,不会提示。
- -i:覆盖文件的提示。
- **-r(对于目录的赋值)**: 若给出的源文件是目录文件,那么cp将递归复制该目录下的所有目录和文件,目的文件必须是一个目录名,也就是不能为123.txt这种文件名.
3、mv
作用:移动文件或目录,或者可以给文件或目录重命名。
当目的文件与源文件是路径相同并且目的文件不存在,那么就是重命;如果目的文件是存在的,那么就会产生重命名并且覆盖的结果,所以应该谨慎使用。
参数:-i:覆盖文件的提示。
二、查看文件的内容
1、cat
作用:查看文件的所有内容,因此cat适合查看内容比较少的文件的内容。
参数:
- -b:对非空行输出行编号
- -n:对输出的所有行编号
2、more
作用:查看文件的内容,但是是分屏显示,所以适合查看文件内容较少的文件。
翻页操作:
- 空格键:显示下一屏
- enter:一次显示一行
- b:回滚一屏
- f:前进一屏
- q:退出
3、grep
作用:查找文件内容。
例如:grep as 123.txt
在文件123.txt中查找as
参数:
- -n:显示匹配及行号
- -v:显示不包含匹配文本的所有行(相当于求反)
- -i:忽略大小写
grep还可以进行模式匹配,常见的模式匹配有:
- ^a:找出以a开头的行
- ke$(氪金,hhh):寻找以ke结尾的行
三、其他
1、echo
作用:在终端显示指定的文字,一般与重定向一起使用。
例如:echo hello world
会在终端显示hello world
2、重定向(>或者>>)
作用:将本应该显示在终端上的内容重定向到指定文件中。
例如:echo hello world > a.txt。
会将hello world添加到a.txt文件中。
>:表示的是会覆盖目标文件的内容
>>:表示的是追加的方式将内容添加到目标文件中。
3、管道(|)
作用:允许一个命令的输出作为另一个命令的输入。
例如: 例如 ls -lh | more
会分屏显示出ls的内容
常用的管道命令:
- more:分屏显示内容
- grep:在命令执行的基础上查询某个内容
三、远程管理常用命令
1、关机和重启
shutdown:关机或者重启,格式为shutdown 选项 时间。
参数:
如果没有任何的参数,那么会在1分钟以后关闭计算机。
-r:表示重启。
时间一般使用的是now,也可以指定时间。
如果想撤销关机操作,那么可以使用shutdown -c进行撤回。
例子:
- shutdown -r now 现在重启
- shutdown now 现在关机
- shutdwon 20:23 指定时间关机
- shutdwon +10 10分钟之后关机
- shutdown -c撤销
2、ifconfig
作用:获得本机的ip地址情况,一般结合grep使用。
例如:ifconfig | grep inet
得到本机的ip地址,这里的ip地址有两个,一个是计算机用于网络通信的ip地址,还有一个就是127.0.0.1,这个ip地址也称为本地环回地址,用于测试本地的网络连接是否正常。
3、ping
作用:用于测试两个主机之间的连接是否正常。
参数:ping之后跟要测试的主机的ip地址,例如ping 127.0.0.1就是测试本地环回测试。
原理:ping命令实际上就是会向目标主机不断发送数据报文,然后根据是否接收来自目的主机的响应报文来判断连接,如果不中断,会一直发送报文,所以可以使用ctrl+c进行中断。
四、远程管理命令
1.ssh工作方式简介
作用:在linux中SSH(secure shell)是非常常用的工具,通过SSH客户端,我们可以控制运行了SSH服务器的远程机器。
SSH实际上是一个程序,如果要成功通过SSH实现远程控制,那么在本地机器上要运行SSH客户端程序,在远程机器上要运行SSH服务器程序。
远程控制有很多中,但是SSH有以下的特点,因此在linux系统中最常用的就是SSH:
- 数据传输是加密的,可以防止信息泄露
- 数据传输是压缩的,可以提高传输速度
2、域名和端口号
域名:IP地址
端口号:同一个IP地址上要运行很多的程序,所以用端口号来区分同一个机器上的不同程序
常见的端口号:
- SSH服务器:22
- web服务器:21
- HTTP服务器:443
- FTP服务器:21
3、SSH命令格式
格式:ssh [-p port] username@ip(域名)
端口号,一般SSH默认的端口号是22。
退出:使用exit,退出连接。
4、windows操作系统下使用SSH
在windows中使用SSH需要安装客户端,有两个客户端:
(1)Putty
(2)xshell
两个客户端在官网上就可以下载,之后就可以只用SSH连接远程的主机。
5、SCP
作用:scp是一个在linux下用来运行远程拷贝文件的命令,其格式与SSH基本相同,只不过在指定端口号的时候P是大写。与cp命令相同,如果要复制的是目录,那么就要加上参数选项-r。
例子:
- scp -P port 123.txt username@ip:desktop/123.txt: 将本地的123.txtx文件复制到远程的desktop下
- scp -r username@ip:desktop demo:将远程的desktop文件复制到demo下。
参数:
- -r:若给出的源文件是目录,那么scp将递归复制该目录下的所有文件,目标文件必须是一个目录名
- -P:若远程SSH服务器的端口不是22,那么就要指明端口号。
在Windows中的使用:安装客户端FileZilla,使用的不是SSH传输,而是FTP文件传输。但是现在windows10下也可以直接在cmd中运行scp,具体参考下面两篇博文:
(1)参考一
(2)参考二
今天也是努力营业的一天!!