python之路_linux基本命令
一、Xshell无法远程连接服务器
当我们的xshell无法远程连接服务器时候,我们需要从如下方面进行检查:
1、道路是否畅通
开启本地xshell(操作的是本电脑,相当于电脑的cmd命令框),通过命令:ping ip(如127.0.0200),检查是否ip对应的服务器连接成功。常见道路不通情况:检查服务器IP是否正确,网卡是否启动;虚拟机服务是否开启。
2、是否有劫财劫色
Iptables和Selinux两种可能造成拦截。
3、是否有提供相关服务
端口:服务器中不同的服务会对应不同的端口,所以连接的时候需要带相应端口号,其中远程连接服务的端口号是22。在本地xshell中按照如下方式检查相应的服务器中的端口是否开启。
二、基本常见命令
1、基本命令
''' 创建目录:mkdir /data (/代表根目录,在根目录创建目录data) 查看目录:ls 查看目录详细:ls -l 切换目录:cd /data/ (切换到根目录下的data目录) '''
2、路径介绍
相对路径:从当前路径开始;绝对路径:从根目录开始,如/data
3、创建文件
具体编辑文件的详细介绍:
''' 方法1 打开编辑文件:vim /data/oldboy.txt 进入编辑模式: 按i 退出编辑模式: 按esc 保存并退出:输入:wq vi与vim区别: vi 记事本 vim notepad++ emeditor sumline 保存补充 :wq 保存并退出 :q! 强制退出不保存 方法2 将指定内容输出到屏幕: echo "oldboyedu-pys6.com 将内容追加到文件后面: echo "oldboyedu-pys6.com >>/data/oldboy.txt 清空并添加到文件:echo "oldboy-s6" >/data/oldboy.txt 总结: >> 追加输出重定向,把内容追加到文件的结尾 > 重定向,先清空文件,把内容追加到文件的结尾 '''
通过vi/vim命令进入相应的文件后,会有如下的相关快捷键:
''' 复制当前行 yy 粘贴 p 剪切 dd 撤销 u 恢复 ctrl + r '''
4、移动文件
把 /data 移动到 /root目录下面
mv /data/ /root/
5、拷贝文件
把/data下oldboy.txt拷贝(复制)到/tmp下
cp /data/oldboy.txt /tmp/
原路径备份oldboy.txt文件
cp oldboy.txt oldboy.txt.bak
6、重命名文件
将oldboy.txt文件重命名为 oldboy.avi
mv oldboy.txt oldboy.avi
7、删除文件
强制删除oldboy.avi文件,非强制删除(根据提示选择)时,下述命令取消-f即可
rm oldboy.avi -f
强制删除文件夹
rm data/ -rf
8、查找文件
语法:
''' find 查找位置 -type 类型 -name 文件名字 '''
上述类型包含两种,f和d,前者表示文件,后者表示文件夹
实例:
#在全局查找oldboy.txt文件: find / -type f -name "oldboy.txt"
#在temp文件中查找.text文件: find /tmp -type f -name "*.txt"
9、管道操作
把前面命令的结果通过管道传递给后面的命令,如下实例,查看找到文件的详细信息。
实例:
#找出系统中以.txt结尾并大于1M的文件 并显示详细信息 find / -type f -name "*.txt" -size +1M |xargs ls -l
说明:当管道前的命令无结果,如上实例,其实执行的是ls -l命令。管道|和管道|xargs的区别请参考博客:http://blog.51cto.com/lidao/1927347
10、显示行号
打印配置文件nginx.conf内容的行号及内容,该如何做?
''' 方法1 [root@oldboyedu-s6 ~]# cat -n nginx.conf 1 10 2 9 3 8 4 7 5 6 6 5 7 4 8 3 9 2 10 1 方法2 vi/vim :set nu 显示行号 :set nonu 不显示行号 :set number 显示行号 快速到达文件的最后一行 G 快速到达文件的第一行 gg 快速到达文件的10行 10gg '''
11、awk查看
#awk 'NR==20' ett.txt #awk 'NR>=20 && NR<=30' ett.txt
12、替换文件中的内容
把/oldboy目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含oldboy的字符串全部替换为oldgirl。如下:
#创建数据 ''' mkdir -p /oldboy/test cd /oldboy echo "oldboy">test/del.sh echo "oldboy">test.sh echo "oldboy">t.sh touch oldboy.txt touch alex.txt '''
先备份,后修改:
sed -i.bak 's#oldboy#oldgirl#g' *.sh
直接修改:
#方式一: sed 's#oldboyl#oldgirl#g' *.sh -i #方式二: find /oldboy/ -type f -name "*.sh"|xargs sed 's#oldboy#oldgirl#g' -i
显示修改后效果,未执行修改:
sed 's#oldboyl#oldgirl#g' *.sh
13、备份多个文件
创建压缩包:tar zcvf /tmp/etc.tar.gz /etc/ ''' z ==== gzip 软件进行压缩 .tar.gz c ==== create 打包 创建包 v ==== verbose 显示过程 f ==== file 指定压缩包 '''
查看压缩包:
tar tf /tmp/etc.tar.gz
解压到当前目录:
tar xf etc.tar.gz