linux常用命令

124 阅读4分钟

1、netstat打印Linux中网络信息

netstat -a #列出所有端口

netstat -at #列出所有tcp端口

netstat -l #只显示监听端口

netstat -an #不想让主机,端口和用户名显示,使用netstat -n

2、切换用户

su 用户名

3、tar

解压,tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

压缩:tar -cvf jdk.tar jdk1.6.0_24/

tar 详解blog.csdn.net/x_iya/artic…

tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

c: 建立压缩档案

-x:解压

-z:有gzip属性的

-j:有bz2属性的 需下载包:yum install -y bzip2

-v:显示所有过程

4、chmod +x *.sh

这个命令的意思是让所有的.sh文件都可执行。

5、linux彻底删除用户

userdel -rf 名称

6、chmod授权方法

chmod -R 775 路径

1)chmod 755 /mnt

2)chmod a+x file

3)umask 文件权限掩码,由它决定文件夹权限是755,文件权限是 644

4)查看单个目录本身的权限

ls -ld mnt/

7、防火墙

永久性生效,重启后不会复原

开启:

chkconfig iptables on

关闭:

chkconfig iptables off

即时生效,重启后复原

开启:

service iptables start

关闭:

service iptables stop

centos7中

//临时关闭 systemctl stop firewalld

//禁止开机启动 systemctl disable firewalld

Centos7下防火墙开启 80 443 端口

启动防火墙

systemctl start firewalld.service

开启 80 443 端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

success

firewall-cmd --zone=public --add-port=443/tcp --permanent

success

重启防火墙

firewall-cmd --reload

systemctl restart firewalld

查询是否开启 : firewall-cmd --query-port=80/tcp 查询 80

重启防火墙 : firewall-cmd --reload

查询哪些端口开放 :firewall-cmd --list-port

关闭防火墙 :systemctl stop firewalld.service

禁止开机启动防火墙 : systemctl disable firewalld.service

允许开机启动防火墙 :systemctl enable firewalld.service

查看防火墙状态 :firewall-cmd --state

关闭端口同开放端口,把 add 改成 remove 就OK

firewall-cmd --zone=public --remove-port=443/tcp --permanent\

8、 修改主机名和IP的映射关系

vi /etc/hosts

192.168.0.2 hadoop

修改主机名

vi /etc/sysconfig/network NETWORKING=yes HOSTNAME= hadoop

9、find 搜索目录

-name 目标名字

find / -name file /代表是全盘搜索,也可以指定目录搜索

-iname不区分大小写

find / -iname file

向下最大深度限制为3

find . -maxdepth 3 -type f

搜索最近七天内被访问过的所有文件

find . -type f -atime -7

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。

修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。

变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间

23、使用户可以使用sudo获得root权限 ## Allow root to run any commands anywher root ALL=(ALL) ALL zhangbiao ALL=(ALL) ALL #这个是新增的用户

10、更改linux主机名

查看主机名命令

hostname

更改主机名称

hostnamectl set-hostname linux-name

#查看主机名

hostname

#查看主机名对应的ip

hostname -i

如果hostname -i获取到的ip不是服务器实际ip,而是127.0.0.1可进行以下操作

#更改host文件

vi /etc/hosts

#添加ip和主机名

ip(实际ip) hostname(主机名)

11、改变所属用户和用户组

递归修改文件夹my及包含的所有子文件(夹)的所属用户(jay)和用户组(fefjay):

chown -R jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay

chown -R ftpuser:ftpuser ftp

12、ssh远程认证保持

ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip

当~/.ssh/id_rsa.pub不存在时:

ssh-keygen -t rsa

13、tcpdump

tcpdump -n -i ens192 host 192.168.6.205 and 192.168.6.200 and port 6012 -v -X -w /wangx/epo_200

14、服务器之间互相拷贝

一、从本地服务器复制到远程服务器:

1、复制文件

scp local_file remote_username@remote_ip:remote_folder

例如:

scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest

2、复制目录

scp -r local_folder remote_username@remote_ip:remote_folder

例如: 在本地将testInfo目录复制到118服务器下的根目录下

scp -r /testInfo root@192.168.6.118:/

二、从远程服务器复制到本地服务器

1、从远处复制文件到本地目录

例如:

scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

2、从远处目录复制到本地

例如:

scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

例如: 在本地将118服务器下的testInfo目录复制到本地根目录下

scp -r root@192.168.6.118:/testInfo /

15、lscpu查看cpu

16、linux中?,?,#等

$0 这个程式的执行名字

$n 这个程式的第n个参数值,n=1..9

$* 这个程式的所有参数,此选项参数可超过9个。

$# 这个程式的参数个数

$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号) $? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误) $- 显示shell使用的当前选项,与set命令功能相同 $@ 跟$*类似,但是可以当作数组用