Linux常用命令-35条

来源:互联网 发布:c语言培训班4个月出来 编辑:程序博客网 时间:2024/06/07 07:14

1.创建用户和组

  • groupadd user
  • useradd -u 0 -o -g root -G root -d /home/user1 user1 创建具有root权限的账号
    • -u 0 :指将uid指定为0与root相同
    • -o:指因为重复了uid(与root账号的uid重复)必须指定这个参数
    • g root:初始化组的组名,当用户属于多个组时,(在-G参数中指定),登录时所在组。缺省该项时,系统新建一个与用户名同名的组,并且初始化时设为该组名。而不论-G指定为哪些组。
    • -d /home/user1:指定用户的属主目录。
    • -M:不建立家目录。
    • -s:定义其使用的 shell,例如 -s /bin/bash
  • usermod -u 0 -o -g root -G root user1 更改用户权限
  • passwd user1 设置/更改密码
  • pwd 显示用户当前工作目录的全路径名
  • mkdir 创建目录
  • chgrp dong /home/dongs 变更文件或目录所属群组,将后者加入前者
  • chmod 2770 /home/dongs 改变文件存取模式
  • ll -d /home/dongs 列出此目录属性

2.删除与查看

  • rmdir 删除目录
  • rm -rf 删除文件
  • cat 显示文件内容
  • more 按屏幕显示文件内容
  • jobs -l 显示当前作业的状态
  • ifconfig 看IP
  • netstat 网络信息
    • netstat -antlp | grep 23
  • route 路由表
  • pg 分页显示文件内容
  • q 退出pg命令

3.kill进程

  • ps 查看进行命令 pid:进程号
  • kill -17 pid 将进程挂起
  • kill -9 pid 终止进程
  • kill -19 pid 激活挂起的进程

4.查看文件大小

  • ll-h 查看文件夹下所有文件的大小
  • du -h –max-depth=1 查看文件夹大小
  • df -h 所有文件系统的使用空间
  • du -sh /etc/ 查看etc文件夹大小

5.查看Linux版本

  • lsb_release -a

6.查看所有用户

  • vim /etc/passwd
  • groups 查看当前登录用户的组内成员
  • groups root 查看root用户所在组以及成员
  • whoami 查看当前登录用户名
  • /etc/group 查看所有组
  • /etc/shadow和/etc/passwd 系统存在的所有用户

7.查看安装的软件

  • rpm -ql mysql
    • q 询问
    • a 查询全部
    • l 显示列表
  • rpm -qa 查询已安装软件

8.关机

  • 关机
    • halt
    • init 0
    • shutdown h
    • poweroff
  • 重启
    • reboot
    • init 1
    • shutdown -r

9.查看进程

  • ps命令
    • ps aux |less 查看所有进程
    • ps -u root -u root -N 查看非root运行的进程
    • ps -u user 查看user运行的进程
    • pstree 进程树状图
  • top命令
    • top -b -nl > /tmp/ process.log 将进程快照储存到文件中
    • top -b -nl | mail -s ‘Process snapshot’ mailname@qq.com 将结果发给自己
    • q 退出
    • h 帮助
    • 另外还有htop atop
  • 显示进程ID
    • pgrep sshd
    • pgrep -u root sshd

10.修改DNS

vim /etc/resolv.confnameserver 8.8.8.8nameserver 114.114.114.114

阿里云免费公共DNS 223.5.5.5 、223.6.6.6

11.修改静态IP

  • 临时修改,重启会还原
ifconfig eth0 192.168.1.1
  • 永久生效
vim /etc/sysconfig/network-scripts/ifcfg-eth0修改IP地址service network restart
  • 使用图形界面
setup

12.网络监听服务

  • 查询已启动的网络监听服务
netstat -tulnp
  • 关闭avahi-daemon服务以删除服务所使用的端口
/etc/init.d/avahi-daemon stopchkconfig avahi-daemon off
  • 查询当前所有服务的状态
service --status-all
  • 查询系统监听的服务
netstat -ln

13.查看服务在每个级别运行状态

  • 在3,4,5层关闭
chkconfig --level 345 httpd offchkconfig --list | grep httpd
  • 在3,4,5层开启
chkconfig --level 345 httpd on
  • 查看sshd状态
service sshd status

14.谁登录系统

  • who 显示有谁登录系统
  • w 显示有谁登录系统及运行的工作
  • whoami 查看自己用户名
  • last 登录成功的用户记录
  • lastb 登录不成功的用户记录

15.禁止root登录

1.建立普通用户并设置密码2.vim /etc/ssh/sshd_config    PermitRootLogin yes 改为no3.重启sshd服务    service sshd restart4.远程用普通用户登录,然后 su root 切换到root下

16.Linux编码问题

windows默认编码为GBK,Linux默认编码为UTF-8
locale 指令,得到当前系统编码设置的详细

vim /etc/profile将最下面一行改为 LC_ALL=zh_CN.UTF-8vim /etc/sysconfig/i18nLANG="zh_CN.UTF-8:zh_CN:zh"SYSFONT="latarcyrheb-sun16"

17.常用端口号

  • FTP 21
  • SMTP 25
  • Telnet 23
  • DNS 53
  • HTTP 80
  • HTTPS 443
  • POP3 110
  • MySQL 3306
  • 终端服务 3389
  • IMAP 993
  • ms-sql-s 1433

通过netstat -anp 查看哪些端口被打开,有些端口netstat查不出来,需要用

sudo nmap -sT -O localhost

需要先安装nmap

yum install nmap

18.给用户添加sudo权限

1.chmod u+w /etc/sudoers 添加此文件的写权限2.vim /etc/sudoers    在root ALL=(ALL)   ALL  下添加      user ALL=(ALL)   ALL  保存退出3.chmod u-w /etc/sudoers 撤销写权限

19.查找文件

  • whereis vsftpd
  • type vsftpd
  • find / -name vsftpd

20.查询软件安装信息

  • man rpm 更多参数
  • rpm -qla vsftpd
    • -qi 软件包信息
    • -qc 已安装软件的配置文件
    • -qR 已安装软件依赖的软件包和文件
  • rpm -vih file.rpm 安装一个新的rpm包
  • rpm -Uvh file.rpm 升级一个rpm包
    • 命令后加 –nodeps –force 可强制安装和更新
  • 对于.src.rpm结尾的文件
    • rpm –recompile vim-4.6-4.src.rpm
    • rpm -rebuild vim-4.6-4.src.rpm
  • 初始化rpm数据库,有时rpm不能查询和安装,大多是这的问题
    • rpm –initdb
    • rpm –rebuilddb
  • 网络查询和安装
    • rpm -qpi http://—–
    • rpm -ivh http://—–
  • 查询软件安装位置
    • updatedb
    • locate vsftpd
  • 卸载软件包
    • rpm -e vsftpd

21.make方法安装软件

./config software namemakemake installmake clean

22.tar指令压缩解压缩

  • tar -cf all.tar *.jpg
    • -c 产生新的包
    • -f 指定包名
  • tar -rf all.tar *.txt
    • -r 表增加
  • tar -uf all.tar *.txt
    • -u 表更新
  • tar -tf all.tar
    • -t 表列出文件
      -tar -xf all.tar 解压
    • -x 表解压
    • -O 表将文件解开到标准输出
    • -v 显示所有过程
  • tar 调用gzip
    • tar czf all.tar.gz *.jpg 打包
    • tar xzf all.tar.gz 解压
  • tar 调用bzip2
    • tar -cjf all.tar.bz2 *.jpg 打包
    • tar -xjf all.tar.bz2 解压
  • tar 调用compress
    • tar -cZf all.tar.Z *.jpg 打包
    • tar -xZf all.tar.Z 解压
  • unrar e filename.rar 解压rar文件
  • unzip filename.zip 解压zip文件

23.dd 备份与恢复

  • 将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
  • 将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
  • 将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb
  • 备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip > /root/iamge.gz
  • 将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb

24.CentOS安装软件

  • 安装 yum install
  • 卸载 remove
  • 更新 update

25.利用SecureCRT或XShell上传、下载文件

1.下载安装lrzsz    yum install -y lrzsz2.建立软链接(如果可以直接用命令,就无需建立)    cd /usr/bin    ln -s /usr/local/bin/lrz rz    ln -s /usr/local/bin/lsz sz3.上传文件到服务器    rz4.下载到本地    sz filename

26.Linux日志

  • /var/log/messages 系统启动后的信息和错误日志
  • /var/log/maillog 邮件相关的日志信息
  • /var/log/secure 与安全相关的日志信息
  • /var/log/cron 与定时任务相关
  • /var/log/spooler UUCP和news设备
  • /var/log/boot.log 守护进程启动和停止
  • /var/log/utmp 当前登陆的每个用户
  • /var/log/wtmp 一个用户每次登录和退出时间
  • /var/local/apache2/logs/access_log HTTP/web的传输
  • /var/log/btmp 记录失败的记录
  • xferlog FTP会话
  • 查看utmp和wtmp二进制日志,用户不能用cat查看,需使用who,w,users,last和ac
    • who /var/log/wtmp 显示用户
    • last root 报告该用户的近期活动
    • ac 报告用户连接的时间
    • ac -d 每天总连接时间
    • ac -p 每个用户总得连接时间
    • lastlog 某用户上次登录的时间
    • lastlog -u root root用户最后登录时间
    • lastlog -t 7 上周的报告

27.内存不足问题的排查解决

1.free -m 查看空闲内存2.free3.top shift+M 按内存排序4.cat /proc/meminfo 查看slab内存    slab用于存放内核数据缓存,通过slabtop 查看这部分内存使用情况

28.关于系统信息的指令

  • uname -a 查看内核、操作系统、CPU信息
  • cat /etc/issue 系统版本
  • cat /etc/redhat-release 查看操作系统版本
  • cat /proc/cpuinfo CPU信息
  • hostname 计算机名
  • lspci -tv 连接所有PCI设备
  • lsusb -tv 列出所有USB设备
  • lsmod 列出加载的内核模块
  • env 环境变量

29.关于资源

  • free -m 内存和交换区使用量
  • df -h 查看各分区使用情况
  • du -sh <目录名> 查看指定目录的大小
  • grep MemTotal /proc/meminfo 查看内存总量
  • grep MemFree /proc/meminfo 查看空闲内存量
  • uptime 系统运行时间、用户数、负载
  • cat /proc/wadavg 系统负载

30.关于磁盘和分区

  • mount | column -t 查看挂载的分区状态
  • fdisk -l 查看所有分区
  • swapon -s 查看所有交换分区

31.关于网络

  • ifconfig 网络接口的属性
  • iptables -L 防火墙设置
  • route -n 路由表
  • netstat -lntp 所有监听端口
  • netstat -antp 所有已经建立的连接
  • netstat -s 网络统计信息

32.关于用户

  • w 查看活动用户
  • id 指定用户信息
  • last 用户登录的日志
  • cat /etc/passwd 查看所有用户
  • cat /etc/group 查看所有组
    cat 可以替换成more或less或tail或head或vim
  • crontab -l 当前用户的计划任务

33.关于服务

  • chkconfig –list 系统服务
  • chkconfig –list | grep on 启动的系统服务

34.入侵检测的检查步骤

1.users 当前登录信息2.who 3.last 或 last root4.ac -d 或 ac -p5.lastlog 用户上次登录时间6.netstat -an 查可疑端口和数据流7.查/var/log下的secure日志8.如发现可以域名,用nslookup查此域名9.who utmp 查看这里显示的域名并用nslookup查询,找到其IP属于哪个国家。10.定位找到的可以程序    find / -name <name>    locate <name>11.如发现带.的目录名则为隐藏目录,如.screen12.删除rc.local中的异常脚本和隐藏的文件夹13.删除异常的管理员账户

35.设置自动执行

  • 开机自动执行的脚本
    将脚本写在/etc/rc.local中,如Date=’date +%Y%m%d’
  • 用户登录后自动执行
    将脚本写到相应用户的目录下 ~/.bash/profile
  • 任一用户登录后自动执行
    写到/etc/profile中
0 0
原创粉丝点击