您当前的位置: 首页 >  linux

星球守护者

暂无认证

  • 0浏览

    0关注

    641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

linux常用命令

星球守护者 发布时间:2020-01-14 14:02:03 ,浏览量:0

在这里插入图片描述

1.学会关闭防火墙

iptablse -nL 查看防火墙当前状态 getenfore setup 图形界面选择关闭

2.关闭selinux服务

需要修改文件gedit /etc/selinux/config SELINUX=disabled getenforce 查看当前selinux状态

3.linux格式

[root@allen Desktop]# [当前登录的用户名@主机名 当前工作目录名称]

#表示当前用户身份为超级管理员root $ 表示当前用户身份为普通用户

4.常用命令

命令如下 ls 列出当前目录下的内容 cd 切换目录 pwd print wroking directory 列出当前工作目录 cat 查看文件内容 cat -n 显示文件行号 touch 创建新文件 更新文件的时间标记 echo 标准输出 echo “I love you” > 1901 输出重定向到文件中 mkdir 建立目录 -p 递归建立目录父目录 mv move 剪切 重命名 cp copy 拷贝目录的时候需要加上选项 -r 递归 rm remove 移除 -r 递归删除 -f 强制删除 ln 链接建立 link ln -s 源文件(绝对路径) 链接文件 -s 符号链接

5.系统信息命令

uname -a:内核版本号查询 fdisk -l: 查看硬盘及分区 cat /proc/cpuinfo: 查看系统CPU信息 cat /proc/meminfo:查看內存信息

6.压缩解压缩文件

压缩解压缩工具 gzip bzip2

find / -size +100M find / -name passwd

dd if=/dev/zero of=/tmp/bigfile bs=1M count=100 in put file 输入文件 zero 全是2进制的0 out put file 输出文件 bs 单位 count 计数器

gzip 文件 压缩文件 gunzip 压缩文件 解压缩

bzip2 文件 压缩文件 bunzip2 压缩文件 解压缩

tar 打包压缩

tar -jcf /root/Desktop/1901class.tar.bz2 1901class/

-j 使用bzip2压缩工具压缩 -z 使用gzip压缩工具压缩 -c create 创建 -f 后面跟新建的文件名

tar -tf /root/Desktop/19class.tar.gz

-t 不解压缩查看文件内容

tar -xf 1901class.tar.gz -C /opt

-x 解压缩并解包 -C 指定解压路径

6.ssh连接对日志文件查看

ssh allen@10.0.105.99 /var/log/secure grep 过滤关键字

grep "Failed password" /var/log/secure  | awk '{print $11}' | sort 

| 管道符号 将前一条命令的输出 作为后一条命令的 处理参数 awk 过滤字段 $11 以空格作为分隔符 第11个字段输出 sort 排序 uniq 统计 -c 显示合并的数量

cat -n  /etc/man.config | more  现实带行号的分页查看
tail  -f  /var/log/secure   跟踪日志变化
wc -l  文件显示文件行数
du -sh  目录名称  统计目录占用磁盘空间大小

7.yum源的安装

cd /etc/yum.repos.d 所有yum源的默认存放目录 mkdir bak mv C* bak 移除所有yum源文件 避免干扰 vim 1901class.repo 建立自己的yum源文件

[1901source]   #标签
name=1901    #描述
baseurl=file:/misc/cd  #定义依赖关系文件所在位置
gpgcheck=0   #不做密钥对验证

yum remove vim-common 卸载软件 yum install vim-enhanced 安装软件 yum clean all 清除以前的yum源缓存 yum install wireshark-gnome 安装抓包软件

rpm -qpi --scripts 包名 显示详细信息后同时显示包中封装的 脚本 yum源中 gpgcheck=1 启用公钥验证 gpgkey=file:/etc/gki/rpm-gpg/RPM-GPG-KEY-CentOS-6 指定公钥位置

8.保存了系统中所有用户的信息

/etc/passwd 保存了系统中所有用户的信息 uid 用户的身份标识0为超级管理员 500-60000普通用户 1-499 程序用户(不能登录系统) root❌0:0:root:/root:/bin/bash

字段1:用户名
字段2:密码占位符
字段3:uid号
字段4:用户的基本组id号
字段5:用户信息记录位置(废弃)
字段6:用户的家目录
字段7:用户登录系统后用什么命令解释器

9.记录系统中用户的密码信息

/etc/shadow 影子 记录系统中用户的密码信息 root: 6 6 6A2$A5p:18129:0:99999:7::: 字段1:用户名 字段2:通过sha-512以及salt值加密后的密文 字段3:距离1970年1月1日密码最近一次的修改时间 字段4:密码的最短有效期 字段5:密码的最长有效期 90 字段6:密码过期前7天警告 字段7:密码的不活跃期 字段8:密码距离1970年1月1日的失效时间

10.组信息

/etc/group 保存了组信息

python 进入python命令解释器

>>>import crypt
>>>crypt.crypt("密码","$6$xxxxx")
>>>出现使用salt和sha512加密后的密文,比对密文和你的密码密文是否相同

>>>quit()  退出python

组和用户的关系, 1、用户必须有一个基本组,如果该组中有基本成员,该组不允许被删除。 2、一个用户可以有多个附加组,如果附加组没有基本成员,该组可以被删除。

11.用户操作

useradd -u 指定 uid号 -g 指定 基本组 -G 指定 附加组 -s 指定用户登录的命令解释器 -s /sbin/nologin 不允许登录 -s /bin/bash 允许登录

usermod 选项同上

userdel -r 删除用户的家目录

12.组操作

groupadd -g 指定gid号 groupmod 选项同上 groupdel 删除组

13.密码操作

passwd 用户名 -S 查看用户密码状态 -l 锁定用户 -u 解锁用户密码 -d 删除用户密码 chage -M 90 用户名 修改用户密码的最长有效期

14.启动进程/sbin/init

vim /etc/inittab 初始化进程 pid为1 第一个启动的进程 /etc/inittab (运行级别) 0 关机 1 单用户 2 多用户无网络 3 字符模式 4 未启用 5 图形模式 6 重启 id:5:initdefault:

/etc/rcX.d 目录 保存了所有进程启动脚本的链接 K kill 表示该进程在该级别启动时候默认不启动 S start 表示该进程默认启动

chkconfig --list 列出所有开机以后启动的进程名称 chkconfig --level 2345 bluetooth on|off 设定该服务在2345级别默认的启动状态

15.定时计划at

一次性计划任务 at 时间 at> 命令 at> ctrl+d 结束编辑

vim /etc/crontab 周期计划任务配置文件

分       时       日      月         周    用户名   命令
0-59   0-23    1-31      1-12        0-7   
*        *         *        *        *  

16.杀死进程

top 命令进入后 输入k 杀模式 输入pid号 以及级别 9 结束进程

17.网络管理配置服务—dns ip 等的配置

/etc/init.d/NetworkManager stop 立即关闭 网络管理配置服务 补充:

当前网卡也是可以通信的,但是通过网络管理工具修改IP之后,当前修改操作是不会生效的。那如何消除这个提示呢? 其实,问题的原因是RedHat自己开发的NetworkManager管理工具和/etc/sysconfig/network-scripts/ifcfg-ethx配置不同步造成的。如果要消除这个提示,请关闭NetworkManager服务即可: [root@vdb1 dev]# chkconfig NetworkManager off --永久关闭服务,需要重启 [root@vdb1 dev]# service NetworkManager stop --立即关闭服务,不需要重启 Stopping NetworkManager daemon: [ OK ] 此时,再重新加载network服务即可: [root@vdb1 dev]# service network restart

eth0 ethernet 以太网 0 第一块 ip addr 查看网卡ip ip addr add 10.0.105.xx/24 dev eth0 ip link set eth0 up ip route 查看网关 ip route add default via 10.0.105.1 dns配置 vim /etc/resolv.conf nameserver 114.114.114.114

修改配置文件配置ip地址

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYEP=Ethernet
ONBOOT=yes  #允许network服务管理
BOOTPROTO=none {static|dhcp}  或者ip地址方式
IPADDR=10.0.105.xx
NETMASK=255.255.255.0
GATEWAY=10.0.105.1
DNS1=xxx
DNS2=xxx

/etc/init.d/network restart 重启网络服务 路由转发功能

vim  /etc/sysctl.conf   内核的配置文件
net.ipv4.ip_forward = 1  开启

sysctl -p  更新配置文件使其生效

网络地址转换规则 源地址转换

iptables  -t nat -I POSTROUTING  -p  all  -s  192.168.1.0/24 -o eth1 -j SNAT --to-source 10.0.105.xxx

18.kali网卡配置文件

vim /etc/network/interfaces

auto eth0
iface eth0  inet static
address  10.0.105.xx
netmask 255.255.255.0
gateway 10.0.105.1

vim /etc/resolv.conf

/etc/init.d/networking restart

19.日志服务器的查看

做一个日志服务的错误触发 1、vim /etc/crontab

* * * * * root cd /var/log ; tar -zcf /opt/secure`date +%H%M`.tar.gz  secure
每分钟备份文件到指定路径

2、重启 crond服务验证

/etc/init.d/crond restart 验证错误日志记录

3、看日志

cat /var/log/cron 文件中看错误信息

4、修改/etc/rsyslog.conf 53行加入

cron.* /var/log/caimujun 指定日志记录到指定文件

5、重启日志服务配置

/etc/init.d/rsyslog restart 观察caimujun文件是否记录日志

客户机配置

vim  /etc/rsyslog.conf
authpriv.* @@172.16.1.254:514    发送登录日志到服务器用tcp协议
/etc/init.d/rsyslog restart  重启服务

服务器配置

$ModLoad imtcp
$InputTCPServerRun 514
:fromhost-ip,  isequal, "172.16.1.1"  /var/log/client/172.16.1.1.log
:msg,  contains, "password"  /var/log/client/172.16.1.1.log
:fromhost-ip, startswith, "172.16.1"  /var/log/172.xx.log

/etc/init.d/rsyslog restart  重启服务

:属性, 操作匹配, “值” 存放位置 fromhost (按主机名接收) fromhost-ip (按照ip地址接收) msg (按照日志里的信息接收) hostname (按照日志中的主机名接收)

contains 包含 isequal 等于 startswith 以什么什么开头

20.dhcp服务器

yum install dhcp 安装dhcp服务

vim /etc/dhcp/dhcpd.conf 修改主配置文件

subnet 192.168.1.0 netmask 255.255.255.0 {    #设定工作网段为该网段分配地址
  range 192.168.1.100 192.168.1.150;    #地址池
  option domain-name-servers 192.168.1.254,114.114.114.114;  #dns
  option routers 192.168.1.254;   #网关
  default-lease-time 600;   #租期
  max-lease-time 7200;
}

/etc/init.d/dhcpd restart 重启服务 如果启动报错分析日志 /var/log/message ss -antupl 查看以开启的端口号,win主机自动获取该网段ip

21.dns搭建

yum install bind 安装dns服务软件 vim /etc/named.conf 修改主配置文件

listen-on port 53 { 192.168.1.254; };  指定监听地址
#allow-query     { localhost; };   要注释掉 白名单
        dnssec-enable no;    证书过期不做验证
        dnssec-validation no;
forwarders {202.106.0.20;};  可以设定转发dns服务器

/etc/init.d/named restart 重启后

22.yum源安装mysql

yum install mysql-server 安装服务端 /etc/init.d/mysqld start 观察端口 3306 mysqladmin -u root -p password "123456" 设置密码 确认旧密码:直接回车 mysql -u root -p 输入密码登录

23.mysql基本命令
mysql> sql语句时结构查询语句
mysql> show databases; 查看数据
mysql> use mysql;进入数据库
mysql> show tables; 看当前库中有哪些表
mysql> select * from mysql.user; 查看表内容
mysql> desc  mysql.user;  查看表结构,可以看到字段类型,以及主键值字段
mysql> select host,user,password from mysql.user; 按照字段查询
mysql> select host,user,password from mysql.user where user="root"; 按条件查询
mysql> select host,user,password from mysql.user where user="root" and host="localhost";  两个条件同时满足
mysql> select host,user,password from mysql.user limit 3; 查询3行

24.MySQL案例

1、建立名为1901class的库,在库中建立一个名为userlist的表格,字段包括 学号 姓名 电话 。主键值为学号。

mysql>create database 1901class;  数据库建立
mysql>create table 1901class.userlist (num int, primary key (num));
  表格建立有字段学号存储数据类型时整数 num字段是主键值(数据不可重复)
写入数据 
mysql> insert  into  1901class.userlist  (num)  value (1); 往表中写入数据
删除
mysql> delete  from  1901class.userlist where num=1;  根据主键值内容删除
修改表结构
alter
mysql> alter table mysql.userlist add tel char(15);
mysql> alter table 1901class.userlist add name char(20) after num;
mysql> update 1901class.userlist set tel=13901234567;  不加条件就更新所有
mysql> update 1901class.userlist set tel=1380765412,name='cmj' where num=2; 
 通过主键值精确修改人员信息

2、删除mysql数据库中所有没有密码的用户

mysql> delete from mysql.user where password="";

25.sql 增删改查

查:show 库 , 表

select 字段 from 表 条件; 看表内容 desc 表;

增:create 库 ,表 (字段 属性)

insert into 表名 (字段1,字段2) value (值1,值2);

删除: delete from 表 条件;

drop  table  1901class.userlist;
drop database  1901class;

修改:alter table 表名 add|change|modify|drop 字段和属性 ; 修改表结构

update 表名 set 字段=“值” where 条件;

26.修改mysql管理员密码

-----先关闭mysql数据库 /etc/init.d/mysqld stop -----跳过授权列表启动mysql数据库 mysqld_safe --skip-grant-table & 输入完后按一下回车换行 -----无密码登录 mysql -u root -----修改root密码 mysql> update mysql.user set password=password("654321") where host="localhost" and user="root"; -----退出mysql后重启服务登录验证

27.数据库的备份与还原

1、将1901class数据库中的 表格userlist 备份后,删除userlist表

# mysqldump -u root -p 1901class userlist > /tmp/1901class_userlist.sql

还原数据库中的表格

# mysql -u root  -p 1901class  < /tmp/1901class_userlist.sql

28.远程授权访问

修改网卡名称 # vim /etc/udev/rules.d/70-persistent-net.rules 要求 1901class数据库中的所有表 对于 tom用户只有查看权限没有修改权限 对于 jerry用户有所有权限 仅允许以上两个用户从192.168.1.100主机登录

mysql> grant select on 1901class.* to "tom"@"192.168.1.100" identified by "123456";
mysql> grant all on 1901class.* to "jerry"@"192.168.1.100" identified by "123456";

客户机验证: mysql -u tom -p123456 -h 192.168.1.254

查看用户权限:mysql> SHOW GRANTS FOR jerry@192.168.1.100;

撤销用户权限:

mysql> revoke select on 1901class.* from tom@192.168.1.100; mysql> revoke all on 1901class.* from jerry@192.168.1.100;

删除用户:

drop user  tom@192.168.1.100;

29.kali 远程 链接 centos

ssh 用户名@ip 1、不用交互登录控制对方服务器

ssh root@192.168.1.254 "rm -fr /tmp/hello.txt; echo '123' > /tmp/hello.txt "

2、拷贝文件到对方服务器

 scp root@192.168.1.254:/tmp/hello.txt /root/Desktop
 scp /root/Desktop/hello.txt root@192.168.1.254:/root/Desktop

3、使用ssh协议ftp形式登录对方主机实现文件上传下载

 sftp root@192.168.1.254
关注
打赏
1662051426
查看更多评论
立即登录/注册

微信扫码登录

0.0825s