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

Linux常用命令分类

2017-06-11 15:52 375 查看
一.常用命令 

1.文件处理
ls -hal

u 所有者 g 所属组 o 其他人

r 读 4 w 写 2 x 执行 1

mkdir -p 地柜创建目录

cd 切换目录 cd . cd ..回到上一级

pwd 馋看当前所在的路径,显示当前目录

rmdir 删除目录,注意只能删除空目录

cp 复制目录或者文件
cp -rp 源文件或者目录 目标目录
-r 复制目录
-p 保留文件属性

例子:cp -r /tmp/canglaoshi /root
将/tmp下面的canglaoshi目录复制到/root下面
例子:cp -rp /tmp/qaz /tmp/asd /root
将/tmp下面的qaz和asd目录父子到/root下面并且保持目录属性

mv 剪切文件.改名
mv 源文件或者目录 目标目录

rm 删除文件或者目录
rm -r 目录
rm -rf 目录 强制删除目录
rm -rfv 目录(文件不加r) 强制删除并且显示细节

touch 文件名 创建空文件

cat 文件名 显示文件内容
cat -n 显示行号

tac 文件名 显示文件内容 反向显示

more 分页显示文件内容
空格或者f 翻页
enter 换行
q或Q 退出

less 文件名 分页显示文件内容

head -n 文件名 显示文件前面几行,不指定默认10行

tail -n 文件名 显示文件后面几行,不指定默认10行
-f 动态显示文件末尾内容
-n 后面家还是那个数字,表示想要查看的行数

ln -s 源文件 目标文件 创建软连接文件
不加-s表示创建的是硬链接
2.权限管理命令
chmod {ugo}{+-=}{rwx} 文件或则目录
-R 递归修改权限
使用=必须三位同在
使用+时赋予新的权限与之前的权限无关
d----目录
l----软连接
-----普通文件
r----4----可以列出目录中的内容
w----2----可以在目录汇总创建,删除文件
x----1----可以进入目录
drwxrw-r-- 是一个764权限的目录
chmod g+w testfile
赋予文件testfile所属组的写权限
chmod -R 777 testdir
修改目录testfile及其目录下的文件为所有用户具有全部权限

chown 用户 文件或目录 改变文件或者目录的所有者
chown guwnejie aa 改变稳健guwenjie的所有者为aa

chgrp 用户组 文件或目录 改变文件或者目录的所属组
chgrp lampbro
4000
ther guwenjie 改变guwnejie 的所属组为lampbrother

umask 显示,设置文件的缺省权限
umask -S 以rwx形式显示新文件缺省的权限

3.文件搜索命令
find 搜索范围(一般是路径) 匹配条件 文件搜索
find /etc -name file 在目录etc下面搜索文件file
find /etc -size +204800 在目录etc下面搜索大于100MB的文件
find /home -user guwenjie 在目录home下面搜索所有者是guwenjie的文件
-group是根数所属组搜索
find /etc -cmin -5 在etc下搜索五分钟内被修改过属性的文件和目录
-amin 访问时间
-mmin 文件内容
难点:find /etc -name file -exec ls -l {} \;
在/etc下面查找file文件并且显示其详细信息

locate 在文件资料库中搜索文件
locate file

which 搜索命令所在的目录及别名信息
which ls

whereis 搜索命令所在的目录及帮助文档的路径
whereis ls

grep 在文件中搜搜指定字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串
例子:ls -l | grep 'mysql'
4.帮助命令
man 获得帮助信息
man ls 查看ls命令的帮助信息

help 获得shell内置命令的 帮助信息
help umask 查看umask命令的帮助信息

5.用户用户名表示当前的管理命令
useradd 用户名 添加新用户

passwd 用户名 密码 给指定用户设置密码
如果不加用户名表示当前的用户

who 查看登录的用户信息

w 查看登录的用户的详细信息

6.压缩解压命令
tar -zcvf 文件或目录名.tar.gz 文件或目录
通过gzip算法压缩
tar -zxvf 压缩的文件或目录
通过gzip算法解压
tar -jcvf 文件名或目录名.tar.bz2 文件或目录
通过bzip2算法进行压缩
tar -jxvf 压缩的文件或者目录
通过bzip2算法进行解压
-t 只查看不解压
7.网络命令
wall 发广播信息

ping 测试网络连通性(ping ip)

ifconfig 查看和设置网卡信息
ifconfig eth0 192.168.140.171 临时设置ip地址

mail 查看发送电子邮件
mail root

last 列出目前与过去登入系统的用户信息

lastlog 检查某特定用户上次登录的时间
lastlog -u 502

traceoute 显示数据包到主机之间的路径
traceoute www.baidu.com

netstat 显示相关网络信息
netstat -tnul 查看本机监听的端口

setup 配置网络

mount -t iso9660 /dev/cdrom /mnt/cdrom

8.关机重启命令
shutdown -r(-h),(-c) now
-c:取消前一个关机命令
-r:重启
-h:关机
其他关机命令
halt
poweroff
init 0

其他重启命令
rebot
inint 6

系统运行级别
0----关机
1----单用户
2----不完全多用户,不含NFS服务
3----完全多用户
4----未分配
5----图形界面
6----重启
runlevel 查询系统运行级别

logout 退出登录命令
二.用户和用户组管理

在linux中主要通过用户配置文件来查看和修改用户信息
1.用户配置文件
用户信息文件:/etc/passwd
aa:x:501:501:空:/home/aa:/bin/bash
第一列:用户名
第二列:密码位
第三列:UID 用户ID =>500 普通用户
第四列:GID 初始组ID
第五列:用户说明
第六列:家目录
第七列:用户登录之后的权限(shell)
shell:shell就是linux中的命令解释器

影子文件:/etc/shadow
root:$6$3FMjUvS//mjwN2Ir$Eb6RbKqrFotphs9TVW4K417kdXPR3nBZ20OwdfjXDRLzlig5mpqYQ4KKU.VNN9D6LBNb1fI/rXGjZf/GOMktr0:16913:0:99999:7:::
九部分:
1.用户名
2.加密的密码 如果没有密码就是两个感叹号
3.16913 上一次修改密码的时间,假如2016.4.10修改了一次时间,那么这个数字就是从1970年到修改的那天一共多少天
4.0 密码不可修改的时间 如果是5 就是从上次修改密码的的五天之内不可修改密码,0是可以随时修改密码
5.99999 必须修改密码的时间
6.提示时间,提示你要修改密码的时间
7.密码的宽限时间,到了修改密码的时间还没有修改 还可以宽限登录的天数
8.密码失效的时间,从1970年1.1到密码失效的时间
9.保留位

组信息文件: /etc/group
root:x:0:
四部分:
1.用户组名
2.用户组密码位
3.组ID
4.用户组中附加用户
例子:zhangsan:x:500:
组名:组密码位:组ID:组中附加用户

组密码文件/etc/gshadow
四部分:
1.组名
2.组密码
3.组管理员用户名
4.组中附加用户

时间戳换算:
把时间戳换算成日期
date -d "1970-01-01 16066 days"
把日期换算成时间戳
echo $(($(date --date="2014/01/06"+%s)/86400+1))

2.用户管理相关文件
用户家目录:
普所有者和所属组都是root通用户:/home/用户名 所有者和所属组都是此用户.权限是700
超级用户:/root/ 所有者和所属组都是root用户,权限550

用户的邮箱:
/var/spool/mail/用户名/

用户模板目录:
/etc/skel/

3.用户和用户组管理名利
添加用户
useradd 用户名
1.普通用户ID从500开始
2.系统用户ID从1-499
useradd 选项 用户名
选项:
-g 组名 指定初始组
-G 组名 指定附加组,把用户加入组,使用附加组
-c 添加说明
-d 手工指定家目录,目录不需要事先建立/home/
系统默认每添加一个用户,家目录都在home下面,系统自动创建
-s /bin/bash 手工指定用户登录之后的权限

useradd -g aa bb 添加bb用户,同时指定初始组为aa
useradd -G user1 aa 添加用户aa,指定附加组为user1

初始组:每个用户初始组只能有一个,一般都是和用户名相同的组作为初始组
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组

修改用户密码
passwd 选项 用户名
-S 查询用户密码状态,仅root用户可用
-l 暂时锁定用户,仅root可用
-u 解锁用户,仅root可用
--stdin 可以通过管道符输出的数据作为用户的密码
例子:echo "123" | passwd --stdin user1

修改用户信息
usermod 选项 用户名
-u 修改用户uid号
-c 修改用户的说明信息
-G 修改用户的附加组
usermod -G root user1 把用户user1 加入root组
-L 临时锁定用户
-U 解锁用户锁定

修改用户的密码状态chage
-l 列出用户的详细密码状态
-d 日期 修改密码最后一次的更改日期
-m 天数 两次密码修改间隔
-M 天数 密码有效期
-W 天数 密码过期前警告天数
-I 天数 密码过后的宽限天数
-E 日期 账号时效时间

删除用户usredel
userdel -r 用户名
-r 删除用户的同时删除用户家目录

查看用户id
id 用户名

切换用户身份
su 选项用户名

添加组
groupadd 组名

删除组
groupdel 组名(注意:组中没有初始用户)

把已经存在的用户加入组
gpasswd -a 用户名 组名 用户加入组
gpasswd -d 用户名 组名 把用户从组中删除
三.权限管理

ACL权限 访问控制列表access control list

给特殊身份的用户设置权限。

1 getfacl 文件名 查询文件的acl权限

2 setfacl 选项 文件名 设定acl权限 (set 设置)
-m 设定权限,添加权限
-b 删除权限

setfacl -m u:用户名:权限 文件名
setfacl -m g:组名:权限 文件名

setfacl -m u:aa:rwx /test 给test目录赋予aa是读写执行的acl权限

setfacl -m u:cc:rx -R soft/ 赋予递归acl权限,只能赋予目录
-R 递归

setfacl -b /test 删除文件所有acl权限
setfacl -x u:用户名 文件名 删除指定用户的ACL权限

3 setfacl -m d:u:aa:rwx -R /test acl默认权限。d 含义:目录 dir

默认权限只能赋予目录

注意:如果给目录赋予acl权限,两条命令都要输入
-R 递归
-m u:用户名:权限 -R 只对已经存在的文件生效
-m d:u:用户名:权限 -R 只对未来要新建的文件生效
四.文件系统常用命令

df 选项 挂载点

du 选项 目录或文件名
-a 显示每个子文件的磁盘的占有量.默认只统计子目录的磁盘占有量
-h 使用 kb mb gb
-s 统计总的占有量,不列出子目录和子文件的占有量

文件系统修复命令fsck
-a 不显示用户提示,自动修复文件系统
-y 和-a一样,不过有些文件只支持-y

查询与自动挂载
mount -l 查询已经挂载的设备

挂载
mount -t 文件系统(iso9660) 设备文件名 挂载点

挂载光盘过程:
mkdir /mnt/cdrom
mount -t iso9660 /dev/cdrom /mnt/cdrom
或者 mount /dev/sr0 /mnt/cdrom

卸载命令
umount 设备文件名或挂载点
umount /mnt/cdrom

挂载U盘
fdisk -l 查看U盘设备文件名
mount -t vfat /dev/sdbl /mnt/usb/
五.服务进程管理

进程管理三个主要任务:
判断服务器健康状态
查看所有正在运行的进程
强制终止进程

一 进程查看 ps process

1 ps -aux 查看当前系统所有运行的进程
-a 显示前台所有进程
-u 显示用户名
-x 显示后台进程

user: 用户名
pid: 进程id。PID 1 init 系统启动的第一个进程
%CPU cpu占用百分比
%MEM 内存占用百分比
VSZ 虚拟内存占用量 KB
RSS 固定内存占有量
tty 登录终端 tty1-7 本地终端 1-6 字符 7图形 pts/0-5
alt+F1-F7

stat 状态 S:睡眠 D:不可唤醒 R:运行 T:停止 Z:僵死 W:进入内存交换 X:死掉的进程 <:高优先级 N:低优先级 L:被锁进内存 s:含子进程 +:位于后台 l:多线程
start 进程触发时间
time 占用cpu时间
command 进程本身

2 pstree 查看进程树,差可能进程的层次结构

3 top 动态监控服务器的进程

第一行: 系统当前时间 系统持续时间 登录用户 1,5,15分钟之前的平均负载
第二行:进程总数
第三行:CPU占用率 %id 空闲百分比
第四行:内存使用: 总共 使用 空闲 缓存
第五航:swap使用

操作命令 shift M 内存排序

Shift P CPU排序
q 退出

4 进程管理 终止进程
ps -aux 组合使用
kill PID 结束单个进程 结束进程
-
d01a
9 强制结束进程 9是最高级别

pstree
killall -9 进程名 结束一类进程
pkill -9 进程名

w 判断登录用户
pkill -9 -t 终端号 把某个终端登录的用户踢出
pkill -9 -t tty1 把本地登录终端1登录用户踢出
六. linux服务管理

0: 运行级别
/etc/inittab 系统运行起来第一个加载起来的文件
一共七个运行级别:
0.关机
1.单用户模式,只能有一个用户登录
2.多用户模式,只允许本地连接(2级别xshell不能连接)
3.字符界面,就是我们现在使用的界面
4.保留的运行级别 为以后开发保留的级别
5.Xii 图形化终端界面
6.重启运行级别

注意:不同的运行级别的本质 是背后的运行的进程不一样

查看不同运行级别下运行的进程 chkconfig --list | less

查看默认的运行级别: vim /etc/inittab 中有配置

Runlevel 查看当前的运行级别

1: 分类
1)系统默认安装(rpm)包的服务
一.自启动
Chkconfig --list 中在运行级别为3的进程如果是on表示自启动

Chkconfig --level 3 httpd on

Netstat -tnl 查看已经启动的进程
二./etc/rc.d/init.d/htttpd start| stop |status | restart 四个状态
Service httpd start|stop| status|restart

2)源码包安装的服务

关闭防火墙
Iptables -F
Iptables -X
Iptables -Z
然后记得存储 service iptables save

Yum -y install gcc
Yum -y install gcc-c++
Yum -y install make
Yum -y install pcre-devel

Apr 在apr目录下执行
./configure --prefix=/usr/local/apr
Make
Make install

Apr-util 在apr-util目录下执行
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
Make
Make install

Httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
Make
Make install

自启动
/etc/rc.local 这个配置文件是在系统启动完之后加载的文件
手动启动
/usr/local/apache/bin/apachect1 start
(一)系统默认安装的服务
1 确定服务分类
chkconfig --list 查看服务的自启动状态
运行级别:0-6
0 关机
1 单用户模式
2 不完全多用户,不包含NFS服务 无网络登录
3 完全多用户 字符界面
4 未分配
5 图形界面
6 重启

init 0 halt 关机 init 5 startx init 3
init 6 重启

runlevel 查询系统当前运行级别

vi /etc/inittab
id:3:initdefault: 定义系统默认运行级别

2 独立的服务器管理

1)启动

/etc/rc.d/init.d/服务名 start|stop|restart|status
/etc/rc.d/init.d/httpd start


service 服务名 start|stop|restart|status

2)自启动

chkconfig --level 2345 服务名 on|off


vi /etc/rc.local---->/etc/rc.d/rc.local
/etc/rc.d/init.d/httpd start

3 ntsysv
所有系统默认安装服务都可以使用ntsysv命令进行自启动管理

(二)源码包安装的服务
1源码包安装的服务

1)绝对路径启动
/usr/local/apache2/bin/apachectl start

2)自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start

总结:
服务管理:
RPM包安装服务
独立的服务
启动:
/etc/rc.d/init.d/服务名 start
service 服务名 start

自启动:
chkconfig --level 2345 服务名 on|off
vi /etc/rc.local 推荐
/etc/rc.d/init.d/httpd start

源码包服务
启动
/usr/local/服务名/bin/服务名二进制执行文件 start

自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start

三 计划任务

echo 11 >> /root/aa 在aa文件中追加11.一会定时任务验证用

循环定时任务
crontab -e 编辑定时任务
* * * * * 命令
10 * 31 * * 命令
10 * * * * 命令
5 4 * 5,7,10 * 命令
*/10 * * * * 命令

第一个:一小时中第几分钟 0-59
第二个:一天中第几个小时 0-23
第三个:一个月中第几天 1-31
第四个:一年第几个月 1-12
第五个:一周中星期几 0-6

crontab -l 查看系统定时任务
crontab -r 删除定时任务

注意事项:
选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间
每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔
间隔固定时间执行书写为*/n格式
命令应该给出绝对路径
星期几和第几天不能同时出现
最小时间范围是分钟,最大时间范围是月

下节降介绍关于LAMP以及vsftp和samba的安装
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: