Linux常用命令



查询cpu,内存占用信息:
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head
free -h
shutdown -r now 重启
sudo killall firefox 结束进程

------------------------------------------------------------------------------
fdisk -l 查看磁盘
cat /proc/meminfo  查看内存大小
cat /proc/cpuinfo         cpu型号
reboot   重启
poweroff  关机
~ 家目录

linux目录

/bin 普通用户和管理员都能执行的命令字
/sbin  
/boot 引导 主引导目录 独立的分区 启动菜单 内核
/dev  device设备 设备文件存放目录
/etc  配置文件存放目录
/home  普通用户的家目录
/root   管理员的家目录
/media 光驱的挂载目录
/mnt  临时设备挂载目录
/proc 里面的数据都在内存中,进程的所在目录
/usr  软件的安装目录
/var 常变文件存放目录 日志文件 邮件文件

创建 :文件  目录
touch  创建文件、
touch /tmp/class1.txt

mkdir  创建目录
mkdir /tmp/class1

改:剪切和复制,改名
    mv
    mv class1.txt class1
    cp  复制
符号链接(快捷方式)
    ln -s 源文件 目标文件
    rm -rf 目录  

ls -lh 显示文件大小
ls -r   递归显示

判断文件类型
    file 文件

压缩

gzip 文件名
gunzip 解压
bzip2
bunzip2
du -sh 文件夹   ----查看文件夹大小

对目录打包:
tar -cf /tmp/allfile.tar /tmp/allfile
create
tar -cf 打包后文件  源文件
tar -xf allfile.tar -C /root  ----解包

tar -zcf /tmp/allfile.tar.gz allfile  打包压缩
tar -zxf allfile.tar.gz -C /root    解压解包

vim编辑器

:wq   保存退出
:q!     强制退出不保存
:set nu
:% s/old/new/g

 

用户文件

/etc/passwd   保存了系统中所有用户的信息
uid 用户的身份标识0为超级管理员   500-60000普通用户  1-499 程序用户(不能登录系统)
root:x:0:0:root:/root:/bin/bash
字段1:用户名
字段2:密码占位符
字段3:uid号
字段4:用户的基本组id号
字段5:用户信息记录位置(废弃)
字段6:用户的家目录
字段7:用户登录系统后用什么命令解释器

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

/etc/group  保存了组信息

root::0:root
bin::2:root,bin
sys::3:root,uucp
adm::4:root,adm
daemon::5:root,daemon

字段1:组名
字段2:存放的是用户组加密后的口令字
字段3:组id号
字段4:组内用户列表
 

用户/用户组操作命令

添加账号
useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

删除帐号
userdel 选项 用户名
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
# userdel -r sam

修改帐号
usermod 选项 用户名
 常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名

设置密码
passwd 选项 用户名


增加用户组
groupadd 选项 用户组
    -g GID 指定新用户组的组标识号(GID)。
    -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

groupdel 用户组

groupmod 选项 用户组
    -g GID 为用户组指定新的组标识号。
    -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
    -n新用户组 将用户组的名字改为新名字

python 进入python命令解释器
>>>import crypt
>>>crypt.crypt("密码","$6$xxxxx")
>>>出现使用salt和sha512加密后的密文,比对密文和你的密码密文是否相同
>>>quit()  退出python

$6$C3kgOgP2$/3VFNPVypJa/ODEV/3dYBQ5fdJDNCHHd1VBKonfFtrZ7.vwC77BWtIgt18RAWPPsjUyOsYIOCAS6x/2Zz2yWs/
尝试破解我的密码,密码为纯数字,长度在5位以内

组和用户的关系

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

练习:
1、建立一个名为1901class的组,组id为1000
groupadd -g 1000 1901class
2、建立一个名为自己名字的用户该用户的uid为600 基本组为1901class组
useradd -u 600 -g 1901class  用户名
3、为该用户设定密码为123456
passwd   allen
4、删除该用户及其家目录
userdel  -r  allen

网络地址配置

ip addr  查看
service NetworkManager stop  关闭网络自动设置
chkconfig --level 345 NetworkManager off    长期关闭ip

配置网络地址

ip link set eth0 up
ip addr add(del) 192.168.86.100/24 dev eth0
ip route add default via 192.168.86.1 dev eth0
ip route 查路由表

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 网卡设备
TYPE=Ethernet 类型
ONBOOT=yes 是否允许network服务管理该文件
BOOTPROTO=static 静态获取
IPADDR=192.168.1.254
NETMASK=255.255.255.0

mousepad /etc/rsyslog.conf


service apache2 start(stop)   启动服务
ss -antpl | grep 80  验证
vim /var/www/html/index.html

端口,防火墙

一、查看哪些端口被打开 netstat -anp

二、关闭端口号:iptables -A INPUT -p tcp --drop 端口号-j DROP

iptables -A OUTPUT -p tcp --dport 端口号-j DROP

三、打开端口号:iptables -I INPUT -ptcp --dport 端口号 -j ACCEPT

四、以下是linux打开端口命令的使用方法。

nc -lp 23 &(打开23端口,即telnet)

netstat -an | grep 23 (查看是否打开23端口)

五、linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以

六、systemctl stop firewalld

软件安装,tar.gz

以Redhat下安装apache为例

    先网站下载源代码包 httpd-2.2.15.tar.gz
    tar -xvf  httpd-2.2.15.tar.gz  -C   /usr/src   将其解压到 /usr/src/ 目录下
    到其解压目录 /usr/src/httpd-2.2.15/ 下, ./configure  运行configure配置文件,设置安装目录,安装模块等,不设置的话,软件默认安装在 /usr/local/apache2/ 目录下。如果  ./configure  --prefix=/usr/local/https/  ,则是将其安装在/usr/local/https/目录下。此时还并未安装,只是配置安装路径
    make 编译,生成可执行的二进制文件Makefile
    make  install 安装。此时,软件安装在 /usr/local/https/ 目录下

安装完成之后对安装包的清理

        进入其解压目录  /usr/src/httpd-2.2.15/下  ,  make  uninstall   或者   make   clean 用于清除上一次的编译
        然后返回到上一级目录,把 httpd-2.2.15 删除
        如果要卸载软件的话,把 /usr/local/apache2 这个软件删除就可以

./configure make和make install

    ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
    make是用来编译的,它从Makefile中读取指令,然后编译。
    make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

configure

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:  ./configure --prefix=/usr 上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin.同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。

make

这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或Python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,
make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

make install

这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。 make install 一般表示进行安装,make uninstall 是卸载。

————————————————————————————————————apt使用
    列出所有可更新的软件清单命令:sudo apt update
    升级软件包:sudo apt upgrade
    列出可更新的软件包及版本信息:apt list --upgradeable
    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
    安装指定的软件命令:sudo apt install
    安装多个软件包:sudo apt install
    更新指定的软件命令:sudo apt update
    显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show
    删除软件包命令:sudo apt remove
    清理不再使用的依赖和库文件: sudo apt autoremove
    移除软件包及配置文件: sudo apt purge
    查找软件包命令: sudo apt search
    列出所有已安装的包:apt list --installed
    列出所有已安装的包的版本信息:apt list --all-versions

你可能感兴趣的:(漏洞整理,linux)