Linux操作指令
2021-04-10 本文已影响0人
五岁小孩
Linux操作指令
-
1.添加文件/文件夹
mkdir test #创建文件夹 touch test.txt #创建文件
- 2.删除文件/文件夹
-r 递归目录删除 -f 强制删除 没有错误提示
rm -f test.txt #删除文件
rm -rf test #删除文件夹
-
3.重命名文件/移动文件文件夹
mv testOld.txt testNew.txt #重命名文件 mv testOld testNew #重命名文件夹 mv /a/test.txt /b/ #移动文件到指定目录下
-
4.查看/编辑文件
cat test.txt #查看不编辑文件
vi/vim test.txt #查看可编辑文件
i #编辑文件
esc :wq #完成保存退出
:wq! #强制保存退出
:q #不保存退出
:q! #强制不保存退出
* **5.查看文件夹下所有文件**
~~~linux
-a: 显示所有文件和目录,包括隐藏文件;
-d: 显示目录名称,而非其内容;
-R: 递归处理,将指定目录下的所有文件及子目录一并处理;
-v: 显示文件或目录版本;
-V: 显示版本信息。
ls #查看目录中的文件
ll #查看目录中的文件包括详细信息
~~~
* **6.移动文件/文件夹**
~~~linux
mv /a/test.txt /b/ #移动文件到指定目录下
- 7.查看ip地址
ip addr #查看ip信息centos7
- 8.项目后台启动
nohup ./(可执行文件) & #后台启动 控制台可用 >>run.log 2>&1 按标准输出到日志
PS:nohup ./eascs_eatp_main.go >>run.log 2>&1 &
#查看日志
tail -f run.log
[nohup 详解]<https://www.cnblogs.com/jinxiao-pu/p/9131057.html>
-
9.端口/防火墙
# systemctl stop firewalld.service /sbin/iptables -L -n #查看所有开放的端口 firewall-cmd --query-port=8000/tcp #查看指定的端口号是否开放 firewall-cmd --add-port=8000/tcp --permanent #1. 开放端口命令 firewall-cmd --reload #2.重载入防火墙 firewall-cmd --permanent --remove-port=端口号/tcp #1.关闭端口命令 firewall-cmd --reload #2.重载入防火墙 systemctl status firewalld #查看防火墙状态 systemctl start firewalld #开启防火墙 systemctl stop firewalld #关闭防火墙 service firewalld start #开启防火墙 若遇到无法开启: 先用:systemctl unmask firewalld.service 然后:systemctl start firewalld.service //查看端口占用应用程序 netstat -lnp|grep 8000
-
15.添加开机自启动
添加启动命令到/etc/rc.d/rc.local
* **12.关闭进程**
~~~linux
ps -ef | grep bash # 查询已经打开的终端:
ps -ef #查看正在执行的进程 包括PID
kill [-9] (pid) #根据pid结束进程 [-9]表示强制结束
~~~
* **13.查看当前文件的完整目录**
~~~linux
pwd
~~~
* **14.解压/压缩**
~~~linux
-z :filter the archive through gzip 将tar包压缩从.gz 文件
-c:创建一个新的.tar 文件
-v:冗余输出
-f:指定文件名
tar -xzvf xxxx.tar.gz -C (解压到指定目录) #解压
tar -cvf xxxx.tar.gz file1 file2 dir1 #解压
(将文件file1,file2,目录dir1压缩成xxxx.tar.gz(未尝试,只压缩过xxxx.tar))
~~~
* **15.压缩文件夹(zip)**
> **-bash: zip: 未找到命令**
>
> **yum install -y unzip zip**
~~~linux
zip -r 压缩后的文件名 原文件名
ps:
把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
~~~
* 压缩解压rar文件
~~~txt
CentOS本身不自带rar,需要自行安装
1.确定自己的系统是64/32位
[root@localhost]# uname -a
2.下载
32位:
wget http://www.rarsoft.com/rar/rarlinux-4.0.1.tar.gz
64位:
wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
3.解压:
tar -zxvf rarlinux-4.0.1.tar.gz // 对应32位下载的
tar -zxvf rarlinux-x64-5.3.0.tar.gz // 对应64位下载的
4.安装:进入解压出的“rar”文件夹
cd rar
make
5.出现以下信息则为成功:
mkdir -p /local/soft/bin
mkdir -p /local/soft/lib
cp rar unrar /local/soft/bin
cp rarfiles.lst /etc
cp default.sfx /local/soft/lib
6.解压:
rar x test.rar //解压 test.rar 到当前目录
7.压缩:
rar test.rar ./test/ //将 test目录压缩为 test.rar
~~~
* **修改文件权限**
> #命令
> chmod 权限 文件
~~~linux
其中“-rw-r--r--”表示权限,一共有十个字符。
第一个字符,如果是“-”则表示是文件,如果是“d”则表示是目录(directory)。
后面9个字符每3个字符又作为一个组,则有3组信息(“rw-”、“r--”、“r--”),分别表示所属用户本身具有的权限、所属用户的用户组其他成员的权限、 其他用户的权限。
每一组信息如“rw-”,每一个字符都有它自己的特定含义且先后位置是固定的,
其中r是读权限、w是写权限、x是可执行权限、-没有对应字符的权限。
Linux里面 对这些字符设置对应的数值,
r是4,w是2,x是1,-是0。
上面的“rw-”则是6(=4+2+0),
所以最开始a.txt的权限是644,属于root用户组的root用户。
修改a.txt文件所属用户(jay)和用户组(fefjay):
chown jay:fefjay a.txt #修改文件所属用户为jay,所属用户组为fefjay
~~~
* **19.复制文件到指定目录**
~~~linux
cp test.txt test2/
~~~
* **20.查看linux系统内核版本**
~~~linux
cat /etc/redhat-release
~~~
* **21.修改文件权限为可执行文件**
~~~txt
chmod +x 文件名称
~~~
* **22.查看日志**
~~~txt
tail -f run.log(日志名称)
~~~
* **23.在指定文件中搜索数据**
> 如:在fonts.conf中搜索font字段
>
>
~~~linux
cat /etc/fonts/fonts.conf |grep font
~~~
* **24** .**vi编辑状态下搜索关键字**
~~~linux
Vi编辑器里面可以用"/""+关键字;快速查找;按Enter搜索下一个
~~~
* **25.查看端口是否启动(查端口占用情况)**
> 如查看端口号6379是否启动(查端口占用情况):
>
>
~~~linux
netstat -ltnp |grep 6379
~~~
> 查看端口时如果出现以下错误:
>
> 提示netstat: command not found,
>
> 执行:
>
> yum install net-tools
* 配置只允许指定的ip访问指定的端口
> 例如:
>
>
~~~
//只允许127.0.0.1访问6379
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 6379 -j ACCEPT
//其他ip访问全部拒绝
iptables -A INPUT -p TCP --dport 6379 -j REJECT
~~~
* 添加新用户并授权
> 添加用户
>
>
~~~linux
adduser [用户名]
~~~
> 为新用户添加密码
>
>
~~~linux
passwd [用户名]
~~~
> 切换新用户
>
>
~~~linux
su 自己的用户名,回车
~~~
* **修改centos7的静态ip地址**
~~~linux
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33 ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
ifcfg-ens33.bak ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team init.ipv6-global
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort network-functions
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel network-functions-ipv6
#编辑修改ip
[root@localhost ~]# vi ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=fde69b53-e706-4633-afc4-fcf01c5b1bef
DEVICE=ens33
ONBOOT=yes
ZONE=public
IPADDR=192.168.21.8
NETMASK=255.255.255.0
GATEWAY=192.168.21.1
DNS1=192.168.21.1
DNS2=8.8.8.8
#重启网卡
[root@localhost ~]service network restart
~~~