学习写代码呀

导航

常用linux指令

1、为用户 tangtest 设置初始密码 1qazxsw2
echo 1qazxsw2 | passwd --stdin tangtest
passwd tangtest
2、cd
cd /   进入系统根目录
~表示用户主目录,即HOME变量指定的目录,如root用户的主目录为/root。
-表示前一个工作目录。
..表示上级目录。
.表示当前目录
3、
source、sh、bash、./执行脚本
4、查找进程列表里的关键字dae
ps -e|grep dae
ps -f|grep dae
ps -ef|grep dae
5、查找文件位置:find,locate和whereis
find命令是linux中最强大的查找文件的命令,它的格式为”find  <指定目录> <指定条件> <指定动作>“。比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name  'interfaces'”

第二个命令是locate命令,使用locate也可以搜索到linux系统中的文件,同样的这里使用locate命令搜索interfaces文件,命令为”locate interfaces“,locate命令是比find命令快的,因为它查询的是locatedb数据库,该数据库包含本地所有的文件信息

最后一个是使用”whereis“命令搜索文件,但是只可以搜索linux系统中的可执行文件。这里用whereis搜索interfaces文件就不起作用了,所以使用whereis命令搜索grep的可执行文件,其命令为”whereis grep“。

6、查看端口占用情况
netstat -antp|grep ESTABLISHED
netstat [选项]

命令中各选项的含义如下:

-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。

-A 显示任何关联的协议控制块的地址。主要用于调试
-a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联的套接字
-i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态不在输出之列
-m 打印网络存储器的使用情况
-n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号
-r 打印路由选择表
-f address -family对于给出名字的地址簇打印统计数字和控制块信息。到目前为止,唯一支持的地址簇是inet
-I interface 只打印给出名字的接口状态
-p protocol-name 只打印给出名字的协议的统计数字和协议控制块信息
-s 打印每个协议的统计数字
-t 在输出显示中用时间信息代替队列长度信息。
-antp:
a: all
n: 用数字而不是名称 (如用22而不是ssh)
t: TCP
p: PID

grep是一个多用途的文本搜索工具
grep :80 : 将上述输出中含:80的行滤出
grep -c ESTABLISHED:显示行数
grep ESTABLISHED: 将上述grep输出中含ESTABLISHED的行滤出

7、vi / vim显示行号或取消行号命令
(1) 显示行号
:set number
或者
:set nu
(2) 取消行号显示
:set nu!
(3) 每次打开都显示行号
  修改vi ~/.vimrc 文件,添加:set number
8、chage命令

功能:修改帐号和密码的有效期限

用法:chage[-l][-m mindays][-M maxdays][-I inactive][-E expiredate][-W warndays][-d lastdays]username
参数:
-l:列出用户的以及密码的有效期限
-m:修改密码的最小天数
-M:修改密码的最大天数
-I:密码过期后,锁定帐号的天数
-d:指定密码最后修改的日期
-E:有效期,0表示立即过期,-1表示永不过期
-W:密码过期前,开始警告天数

9、password
password -S 查看当前用户密码状态
passwd -d+用户名称 删除用户密码
passwd -Sa 查看系统内所有用户的密码状态
passwd -l +用户名 锁定用户密码
passwd -u +用户名 解锁密码

10、linux常见文件系统类型
文件系统类型就是分区的格式。

msdos: dos文件系统类型
vfat:支持长文件名的dos分区文件系统,可以理解为winds文件系统类型
iso9660: 光盘格式文件系统
ext2/ext3/ext4: linux下主流的文件系统
xfs: linux下一种高性能的日志文件系统,在centos7.x中默认的文件系统
nfsd: 一种分布式文件系统

(1) 查看文件系统类型:

  #mount   查看分区挂载到某个文件系统及文件类型

(2) 设备挂载和使用:

 mount -t 文件系统类型 设备名  挂载点

     /mnt 专门用作临时挂载点目录

    /media 自动挂载目录,光盘,u盘

(3) 设备的卸载:

  umount 挂载目录
11、查看内存使用情况
top
free   -m
cat  /proc/meminfo
ps auxw --sort=-rss

12、解压文件:tar -xzvf test.tar.gz
压缩文件: tar -czvf test.tar.gz testtar

13、删除当前目录下文件夹opt以及子文件和目录:
rm -r opt/
当前目录"opt/"下的所有文件复制到新目录"newopt":
cp –r opt/ newopt
当前目录下的test.log重命名为newtest.log:
mv test.log newtest.log
查看当前系统磁盘使用情况,并用可读性强的方式(比如直接方式采用M或者G方式)展示:
df -h
查找当前文件夹下ota.log中包含error关键字的内容,并显示行号:
grep -n 'error' ota.log

14、文件系统

文件操作:
新增文件:
vi test.txt
touch test.txt
删除文件:
rm test.txt
rm -f test.txt强制删除

目录:
新增:mkdir home
删除:rmdir home

查找文件: find test.txt


15、用户:

切换用户: su - agnes(也切换环境) su agnes
创建用户: useradd testpl
useradd -d /home/abc abc -m -g aabb
创建一个用户,名字叫abc,主目录是/home/abc目录,属于aabb这个组

-d的意思是指定用户的主目录
-m的意思是,如果主目录不存在,那么就自动创建这个目录
-g的意思是指定该用户属于哪个组
删除用户: userdel testpl(不删除文件) userdel -r testpl(删除用户和文件
rm -rf 命令把当前/home 目录下的用户名删除

groupadd docker     #添加docker用户组

设置密码:
passwd(当前用户)
passwd agnes
 

16、防火墙(iptables或者firewalld)
systemctl status firewalld 查看当前防火墙状态。
systemctl stop firewalld 关闭当前防火墙。
systemctl disable firewalld 开机防火墙不启动。
添加防火墙白名单:firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=22/ftp --permanent
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.26.5.150" port protocol="ftp" port="22" accept"
 firewall-cmd --permanent --add-source=172.26.5.150 --zone=trusted
firewall-cmd --reload
查看策略:firewall-cmd --list-all-zones
添加防火墙白名单:iptables -I INPUT 4 -s 172.26.5.150 -p tcp --dport 8080 -j ACCEPT
添加防火墙过滤规则步骤如下;

1、查看现有防火墙过滤规则:

 iptables -nvL --line-number

2、添加防火墙过滤规则(设置白名单):

       1)添加白名单
iptables -I INPUT 3 -s 136.6.231.163 -p tcp --dport 1521 -j ACCEPT
            命令详解:
             -I:添加规则的参数  

               INPUT:表示外部主机访问内部资源

    规则链:

       1)INPUT——进来的数据包应用此规则链中的策略
       2)OUTPUT——外出的数据包应用此规则链中的策略
       3)FORWARD——转发数据包时应用此规则链中的策略
       4)PREROUTING——对数据包作路由选择前应用此链中的规则 (记住!所有的数据包进来的时侯都先由这个链处理)
     5)POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

                3:表示添加到第三行(可以任意修改)

               -s:指定作为源地址匹配,这里不能指定主机名称,必须是IP;

               -p: 用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)

               --dport: 用于匹配端口号

               -j: 用于匹配处理方式:

                   常用的ACTION:

        DROP:悄悄丢弃,一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
                REJECT:明示拒绝
                ACCEPT:接受
        2)查看添加结果

iptables -nvL --line-number

 然后重启防火墙即可生效
重启防火墙的命令:service iptables restart

此时,防火墙规则只是保存在内存中,重启后就会失效。

使用以下命令将防火墙配置保存起来;

保存到配置中:service iptables save (该命令会将防火墙规则保存在/etc/sysconfig/iptables文件中。)

17、查看用户组
cat /etc/group查看所有组信息
cat /etc/passwd|grep 用户名,用于查找某个用户
cat /etc/passwd查看所有的用户信息
groups 命令可以查看某个用户所属的用户组
只执行 groups 命令,可以查看系统当前登录用户的所属组
groups wuliang, 查询特定用户的用户组,在 groups 后面跟用户名即可

只执行 id 命令,可以查看系统当前登录用户的用户组
id wuliang, 查询特定用户的用户组,在 id 后面跟用户名即可

18、查看端口:
netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况
lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,

lsof输出的每列的意义是:
COMMAND:进程的名称或者进程开启的方式
PID:进程id
USER:进程所有者
FD:文件描述符
TYPE:协议类型
DEVICE:端口号
SIZE/OFF:偏移
NODE:协议名
NAME:节点名

ps -e|grep ssh
ps -s|grep ssh

curl指令:
请求 Web 服务器,可以代替postman调用请求

19、ssh(配置文件etc/ssh/sshd_config)
PermitRootLogin yes #允许root登录
PermitEmptyPasswords no #不允许空密码登录
PasswordAuthentication yes # 设置是否使用口令验证。
配置完了重启:systemctl restart sshd 或者service sshd restart
ssh配置公钥:
ssh-keygen -t rsa

22、sudo权限配置

允许admin组不用密码使用sudo:%admin ALL=(ALL) NOPASSWD: ALL
用户:agnes ALL=(ALL) NOPASSWD: ALL

23、df -h  查看系统磁盘空间(分区)
du -sh *  查看所有文件夹空间

shutdown 关机
shutdown -h now

24、wc命令用于计算字数
默认的情况下,wc将计算指定文件的行数、字数,以及字节数:wc testfile
-c或--bytes或--chars 只显示Bytes数。wc -l
-l或--lines 显示行数。
-w或--words 只显示字数

posted on 2019-09-17 15:07  学习写代码呀  阅读(387)  评论(0编辑  收藏  举报