您的位置:首页 > 运维架构 > Linux

Linux常用命令-35条

2016-04-25 18:25 706 查看

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.conf
nameserver 8.8.8.8
nameserver 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 stop
chkconfig avahi-daemon off


查询当前所有服务的状态

service --status-all


查询系统监听的服务

netstat -ln


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

在3,4,5层关闭

chkconfig --level 345 httpd off
chkconfig --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 改为no
3.重启sshd服务
service sshd restart
4.远程用普通用户登录,然后 su root 切换到root下


16.Linux编码问题

windows默认编码为GBK,Linux默认编码为UTF-8

locale 指令,得到当前系统编码设置的详细

vim /etc/profile
将最下面一行改为 LC_ALL=zh_CN.UTF-8

vim /etc/sysconfig/i18n
LANG="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 name
make
make install
make 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 lrzsz
2.建立软链接(如果可以直接用命令,就无需建立)
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
3.上传文件到服务器
rz
4.下载到本地
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.free
3.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 root
4.ac -d 或 ac -p
5.lastlog 用户上次登录时间
6.netstat -an 查可疑端口和数据流
7.查/var/log下的secure日志
8.如发现可以域名,用nslookup查此域名
9.who utmp 查看这里显示的域名并用nslookup查询,找到其IP属于哪个国家。
10.定位找到的可以程序
find / -name <name>
locate <name>
11.如发现带.的目录名则为隐藏目录,如.screen
12.删除rc.local中的异常脚本和隐藏的文件夹
13.删除异常的管理员账户


35.设置自动执行

开机自动执行的脚本

将脚本写在/etc/rc.local中,如Date=’date +%Y%m%d’

用户登录后自动执行

将脚本写到相应用户的目录下 ~/.bash/profile

任一用户登录后自动执行

写到/etc/profile中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: