开发笔记 —— Linux 下的常用命令(一)

tar 命令

tar 命令是 Linux 中常用的归档命令,可以将多个文件归档到一个文件中,也可以从归档文件中提取这些文件。

归档方式有哪些?

  • gzip 以 .gz 结尾,最常用的压缩方式
  • bzip2 以 .bz2 结尾,压缩能力更强(压缩后的文件更小),使用较多
  • compress 以 .Z 结尾,使用较少
  • zip 以 .zip 结尾,压缩能力较低,跨平台做的较好,使用较少
  • rar 以 .rar 结尾,压缩能力较低,使用较少

tar 命令的[选项] 参数

  • -c 建立打包文件
  • -f 指定打包文件名称,tar 命令必须要有该选项
  • -t 查看打包文件中包含的文件名
  • -r 增加文件到打包文件中
  • -v 显示过程
  • -x 解包
  • -z 通过 gzip 过滤归档
  • -Z 通过 compress 过滤归档
  • -C 该选项用于解压缩,若要解压到指定目录,可通过该选项指定

vim

Vi 的改进版本,一个程序员文本编辑器,它主要有三种模式

一般模式

以vim打开一个文件就直接进入一般模式(默认模式)可以使用上下左右移动光标来移动光标,也可以使用删除字符来处理文件内容,也可以使用复制、粘贴来处理文件数据。

移动光标
指令解释
[h]
[j]
[k]
[l]
[H]光标移到当前屏幕最上方行的第一个字符
[M]光标移到当前屏幕中间行的第一个字符
[L]光标移动到当前屏幕最下方行第一个字符
[G]移到此文件最后一行
n[G]移到第n行
n[Enter]光标下移n行
[Ctrl]+[f]屏幕向下移动一页
[Ctrl]+[b]屏幕向上移动一页
[0][Home]移动光标所在行的行首
[$][End]移到光标所在行的行尾
删除
指令解释
[x]向后删除一个字符
n[x]向后删除n个字符(n为数字)
[X]向前删除一个字符
[d][d]删除光标所在行
n[d][d]删除光标所在行以下n行(n为数字,包含当前行在内)
[d][1][G]删除光标所在行到第一行所有数据
[d][G]删除光标所在行到最后一行
[d][$]删除光标所在处到同行最后一个字符
[d][0]删除光标所在处到同行第一个字符
复制
指令解释
[y][y]复制光标所在行
n[y][y]复制光标所在向下n行(n为数字)
[y][1][G]复制光标所在行到第一行所有数据
[y][G]复制光标所在行到最后一行所有数据
[y][$]复制光标所在处到同行最后一个字符
[y][0]复制光标所在处到同行第一个字符
[p]小写字母 p,将已复制的数据粘贴到光标所在下一行
[P]大写字母 p,将已复制的数据粘贴到光标所在上一行
[u]小写字母 u,复原前一个操作(类似于windows中的ctrl+z)
[ctrl][r]恢复上一次撤销的内容(类似于windows中的ctrl+y)

编辑模式

在一般模式中可以删除、复制、粘贴等,但无法编辑文件内容。按下i、I、o、O、a、A、r、R等任何一个字母后进入编辑模式。并在左下方出现INSERT或REPLACE。该模式下可以输入文件内容。按下返回一般模式。

指令解释
[i]从光标所在处插入
[I]从所在行第一个非空白字符处插入
[a]从光标所在下一个字符处插入
[A]从光标所在行最后一个字符处插入
[o]在光标所在处下一行插入新的一行
[O]在光标所在处上一行插入新的一行
[s]删除光标所在的字符并开始插入
[S]删除光标所在行并开始插入
[r]替换光标所在处字符一次
[R]一直替换光标所在处文字直到按下Esc

命令模式

在一般模式当中,输入:/?三个字符中的任何一个按钮,就可以将光标移动到最下面那一行。在这个模式当中,可以提供查询、替换等功能。同时存盘、离开vi、显示行号等等命令都是在此模式进行。例如,:wq即可保存退出。

查找
指令解释
/word向下查找单词“word”
?word向上查找单词“word”
替换
指令解释
:s/word1/word2/g在当前行将word1替换成word2
:%s/word1/word2/g在当前文件将word1替换成word2
:n1,n2s/word1/word2/g在n1到n2行查找word1替换成word2 (n1、n2为数字)
:1,$s/word1/word2/g从第一行到最后一行查找word1替换成word2
:1,$s/word1/word2/gc同上,在替换前confirm是否替换
其他
指令解释
:set nu显示行号
:set nonu取消显示行号
:w将文件存盘
:w [filename]另存为filename
:r [filename]读取filename指定文件中的内容到光标所在的行
:n1,n2 w [filename]将n1到n2行另存为filename
:wq保存后离开
:q!不保存,强制离开
:wq!强制保存退出
:! command临时切换到命令行模式下执行command命令。

例如 :!ls /home 即可在vim当中查看/home下面以ls输出的文件信息。

模式切换

模式切换

ssh

该指令是 OpenSSH SSH客户端,用于远程登录程序。在 window 10 的操作系统中也可用。

用法:ssh [用户名]@[目标主机 IP]

示例:ssh root@192.168.1.120

免密登录

在每次使用 ssh 的时候,会被要求输入密码。如果多台操作系统中需要来回切换使用的话,就会很繁琐。我们可以使用 ssh-keygenssh-copy-id 两个命令来实现免密登录的配置,具体如下:

[root@h150 ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/SjKbSI59e5S7NmM/jmk9PJd8C1a9EebX3hmpyeRTCM root@h150.c7
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|         .  E o  |
|       .S . .+.o.|
|      . + .o ++=o|
|     o =.O. . *+X|
|    +.ooO.=o +.**|
|     ooB=++.o .o.|
+----[SHA256]-----+
[root@h150 ~]# 
[root@h150 ~]# ssh-copy-id root@h150.c7
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@h150.c7's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@h150.c7'"
and check to make sure that only the key(s) you wanted were added.

[root@h150 ~]# 

完成之后,再次使用 ssh 进行远程登录时候,就不会再要求输入密码了。

scp

该指令用于远程文件复制程序。在 window 10 的操作系统中也可用。

从 Linux 复制文件到 window:

scp root@192.168.1.120:/root/anaconda-ks.cfg C:/ 

示例上传:

scp C:/anaconda-ks.cfg root@192.168.1.120:/root/

firewalld

在 RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。

  • 启动: systemctl start firewalld
  • 状态: systemctl status firewalld
  • 停止: systemctl disable firewalld
  • 禁用: systemctl stop firewalld
指令解释
firewall-cmd --list-ports查看开放的端口
firewall-cmd --add-port=9000/tcp --permanent永久开放指定端口
firewall-cmd --remove-port=9000/tcp --permanent永久移除指定端口
firewall-cmd --reload重启防火墙

netstat

利用 netstat 指令可让你得知整个 Linux 系统的网络情况,最常用的就是查看端口占用情况。例如: netstat -antp

参数说明:

参数解释
-a 或 --all显示所有连线中的Socket。
-n 或 --numeric直接使用IP地址,而不通过域名服务器。
-t 或 --tcp显示TCP传输协议的连线状况。
-u 或 --udp显示UDP传输协议的连线状况。
-p 或 --programs显示正在使用Socket的程序识别码和程序名称。

列信息:

列名描述
Proto通信协议
Recv-Q已接收的队列
Send-Q已发送的队列
Local Address本地主机的地址(包括端口)
Foreign Address外部主机的地址(包括端口)
State当前状态
PID/Program name进程ID / 运行的程序的名称

其他常用命令

指令解释
service network restart重启网卡
free查看当前主机的内存信息
df查看当前主机的磁盘信息
ps -aux查看当前主机正在运行的进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值