layout: post
title: Shell命令大全
category: 资源
tags: Shell
keywords: Shell
description: Shell命令大全(全)以及Linux权限描述解读
O、Linux权限描述解读
Linux把文件的权限划分为读(r)、写(w)、执行(x)三种,每一个文件又有三组r、w、x权限,分别对应文件所属者rwx权限,文件所属者所在用户组的rwx权限,和除了文件所属者和文件所属者所在用户组的其他所有用户。
使用 ls –l命令可以查看文件或文件夹的权限。例如,一个文件的权限为 –rwxr-xr--,该如何理解呢?其实整个权限描述字符串一共10个字符。第一个字符代表类型,“-”表示文件,所以这里指的是一个文件的权限,接下来的3个字符“rwx”就代表了对于该文件的所属用户对这个文件有r(读),w(写),x(执行)的权限,再接下来的3个“r-x”,就代表对于该文件所属用户所在的用户组对该文件有r(读),x(执行)的权限,而没有w(写)的权限,没有对应的权限就在对应位用“-”代替。再接下来的3位“-w”,就代表除了该文件的所属用户及所属用户所在的用户组的其他所有用户对该文件有r(读)权限,没有w(写)和x(执行)的权限。用数字代表就是754.
下面来总结一下权限字符的规则:
l 一共10位,第一位表示类型,“-”表示文件,“d”表示文件夹
l 第2位到第4位,表示该文件或文件夹所属用户的它拥有的权限,顺序是rwx,如果哪个权限没有,在其位上用“-”代替。
l 第5到第7位,表示该文件或文件夹所属用户所在的用户组对它拥有的权限,顺序是rwx,如果哪个权限没有,在其位上用“-”代替。
l 第8到底10位,表示该文件或文件夹除了其所属用户和所属用户所在用户组的其他所哟用户对其拥有的权限,顺序是rwx,如果哪个权限没有,在其位上用“-”代替。
l 如果用数字表示,r=4 w=2 x=1 对于每一部分,总和最大为7.如果不好记,可以这样记,rwx,r位是2的2次方=4,w位是2的一次方=2,x位是2的0次方=1。
一、Linux下常用命令:文件与目录操作
命令name |
命令作用 |
basename |
从文件名中去掉路径和扩展名 |
cd |
切换当前工作目录到指定目录 |
chgrp |
改变文件所属组 |
chmod |
改变文件的权限 |
chown |
改变文件的所有者和组 |
cp |
复制文件或目录 |
dd |
复制文件并转换文件内容 |
file |
确定文件类型 |
find |
在指定目录下查找文件并执行指定的操作 |
ln |
创建文件链接 |
locate/slocate |
快速定位文件的路径 |
ls/dir/vdir |
显示目录内容 |
mkdir |
创建目录 |
mv |
移动或重命名文件 |
pwd |
显示当前工作目录 |
rename |
重命名文件 |
rm |
删除文件或目录 |
rmdir |
删除空目录 |
touch |
修改文件的时间属性 |
updatedb |
创建或更新slocate数据库 |
whereis |
显示指令程序、源代码和man手册页 |
which |
显示指令的绝对路径 |
二、Linux下常用命令:备份与压缩
命令name |
命令作用 |
ar |
创建、修改归档文件和从归档文件中提取文件 |
arj |
.arj文件压缩指令 |
bunzip2 |
压缩bzip2格式的压缩文件 |
bzcat |
解压缩文件到标准输出 |
bzip2 |
创建.bz2格式的压缩文件 |
bzip2recover |
修复损坏的.bz2文件 |
bzless/bzmore |
解压缩.bz2文件并分屏显示内容 |
compress |
压缩数据文件 |
cpio |
存取归档包中的文件 |
dump |
文件系统备份 |
gunzip |
解压缩由gzip压缩的文件 |
gzexe |
压缩可执行程序 |
gzip |
GNU的压缩和解压缩工具 |
lha |
压缩和解压缩指令 |
resotre |
还原由dump备份的文件或文件系统 |
tar |
创建备份档案文件 |
unarj |
解压缩.arj文件 |
uncompress |
解压缩.Z文件 |
unzip |
解压缩.zip文件 |
zcat |
解压缩文件并送到标准输出 |
zforce |
强制gzip格式的文件加上.gz扩展名 |
zip |
压缩文件 |
zipinfo |
显示zip压缩文件的详细信息 |
znew |
将“.Z”文件转换成“.gz”文件 |
三、Linux下常用命令:文本处理
命令name |
命令作用 |
cat |
链接文件并显示到标准输出 |
cksum |
检查和计算文件循环冗余校验码 |
cmp |
比较两个文件的差异 |
col |
过滤控制字符 |
colrm |
从输入中过滤掉指定的列 |
comm |
比较两个有序文件的不同 |
csplit |
分割文件 |
cut |
显示文件中每行的指定内容 |
diff3 |
比较3个文件的不同 |
diff |
比较并显示两个文件的不同 |
diffstat |
根据diff指令的结果显示统计信息 |
ed |
行文本编辑器 |
emacs |
全屏文本编辑器 |
ex |
文本编辑器 |
expand |
将Tab转换为空白(Space) |
fmt |
最优化文本格式 |
fold |
设置文件显示的行宽 |
grep/egrep/fgrep |
显示文件中匹配的行 |
head |
输出文件开头部分内容 |
ispell |
交互式拼写检查程序 |
jed |
文本编辑器 |
joe |
编辑文本文件 |
join |
合并两个文件的相同字段 |
less |
分屏查看文本文件 |
look |
显示文件中以特定字符串开头的行 |
more |
分屏查看文本文件 |
od |
以数字编码输出文件内容 |
paste |
合并文件的内容 |
pico |
文本编辑器 |
sed |
流文件编辑器 |
sort |
排序数据文件 |
spell |
拼写检查 |
split |
分割文件 |
sum |
计算并显示文件的校验码 |
tac |
反序显示文件内容 |
tail |
输出文件尾部部分内容 |
tee |
将输入内容复制到标准输出和指定文件 |
tr |
转换或删除文件中的字符 |
unexpand |
将空白(Space)转换为Tab |
uniq |
删除文件中的重复行 |
vi |
全屏文本编辑器 |
wc |
计算文件的字节数、单词数和行数 |
四、Linux下常用命令: shell指令
命令name |
命令作用 |
alias |
定义命令别名 |
bg |
将作业(或任务)放到后台运行 |
bind |
显示或设置键盘配置 |
declare |
声明shell变量 |
dirs |
显示shell目录堆栈中的记录 |
echo |
打印字符串到标准输出 |
enable |
激活与关闭shell内部命令 |
eval |
执行指定指令并返回结果 |
exec |
执行给定指令后退出登录 |
exit |
退出当前shell |
export |
设置与显示环境变量 |
fc |
编辑并执行历史命令 |
fg |
将后台任务(或作业)切换到前台运行 |
hash |
显示与清除指令时运行查询的哈希表 |
history |
显示与操纵历史命令 |
jobs |
显示shell的作业信息 |
kill |
杀死进程或作业 |
logout |
退出登录shell |
popd |
从shell目录堆栈中删除记录 |
pushd |
向shell目录堆栈中添加记录 |
set |
设置shell的执行方式 |
shopt |
设置控制shell行为变量的开关值 |
ulimit |
设置shell的资源限制 |
umask |
设置创建文件的权限掩码 |
unalias |
取消由alias定义的命令别名 |
unset |
删除定义的变量或函数 |
五、Linux下常用命令:打印相关指令
命令name |
命令作用 |
accept |
接受打印请求 |
cancel |
取消打印任务 |
disable |
停止打印机 |
enable |
启动打印机 |
lp |
打印文件 |
lpadmin |
配置cups打印机和类 |
lpc |
控制打印机 |
lpq |
显示当前打印队列 |
lpr |
打印文件 |
lprm |
删除当前打印队列中的作业 |
lpstat |
显示CUPS的状态信息 |
pr |
打印前转换文本格式 |
reject |
拒绝打印请求 |
六、Linux下常用命令: 其他基础指令
命令name |
命令作用 |
bc |
实现精确计算的计算器 |
cal |
显示日历 |
clear |
清屏指令 |
consoletype |
显示当前使用的终端类型 |
ctrlaltdel |
设置热键Ctrl+Alt+Del的功能 |
date |
显示和设置系统日期时间 |
dircolors |
设置ls指令显示时的颜色 |
eject |
弹出可移动设备的介质 |
halt |
关闭计算机 |
hostid |
显示当前主机的数字标识 |
hwclock |
查询和设置系统硬件时钟 |
info |
读取帮助文档 |
login |
登录系统 |
man |
显示联机帮助手册 |
md5sum |
计算并显示文件的md5摘要信息 |
mesg |
设置终端写权限 |
mtools |
显示mtools软件包的指令 |
mtoolstest |
测试并显示mtools工具包的配置 |
poweroff |
关闭计算机并切断电源 |
reboot |
重新启动计算机 |
shutdown |
关闭计算机 |
sleep |
睡眠指定长的时间 |
stat |
显示文件或文件系统的状态 |
talk |
与其他用户交谈 |
wall |
向所有终端发送信息 |
whatis |
在数据库中查询关键字 |
who |
显示当前已登录用户的信息 |
whoami |
显示当前用户名 |
write |
向指定用户终端发送信息 |
yes |
不断输出指定字符串 |
七、Linux下常用命令: 用户管理
命令name |
命令作用 |
chfn |
改变用户的finger信息 |
chsh |
改变用户登录时的默认shell |
finger |
用户信息查询程序 |
gpasswd |
管理组文件/etc/group |
groupadd |
创建组 |
groupdel |
删除组 |
groupmod |
修改组信息 |
groups |
显示用户所属的组 |
grpck |
验证组文件/etc/group的完整性 |
grpconv |
启用组的影子口令文件 |
grpunconv |
关闭组的影子口令文件 |
logname |
显示登录用户名 |
passwd |
设置用户密码 |
pwck |
验证用户文件密码文件的完整性 |
pwconv |
启用用户的影子口令文件 |
pwunconv |
关闭用户的影子口令文件 |
su |
切换用户 |
useradd |
创建用户 |
userdel |
删除用户 |
usermod |
修改用户的配置信息 |
users |
显示当前登录系统的用户名 |
八、Linux下常用命令:进程管理
命令name |
命令作用 |
init |
进程初始化控制 |
killall |
根据名称结束进程 |
nice |
设置进程优先级 |
nohup |
以忽略挂起信号方式运行程序 |
pgrep |
基于名字查询并显示进程号 |
pidof |
查找正在运行程序的进程号 |
pkill |
向指定的进程发送信号 |
ps |
显示系统当前的进程状态 |
pstree |
用树形图显示进程的父子关系 |
renice |
调整进程优先级 |
w |
显示当前登录用户的相关信息 |
watch |
全屏方式显示指定命令的输出信息 |
九、Linux下常用命令:磁盘与文件系统管理
命令name |
命令作用 |
badblocks |
磁盘坏块检查工具 |
blockdev |
从命令行调用块设备的ioctl函数 |
chattr |
改变文件的第2扩展文件系统属性 |
convertquota |
转换quota文件格式 |
df |
报告磁盘剩余空间情况 |
dumpe2fs |
显示ext2/ext3文件系统信息 |
e2fsck |
检查ext2/ext3文件系统 |
e2image |
保存ext2/ext3源数据到文件 |
e2label |
设置ext2/ext3文件系统标签 |
edquota |
编辑用户的磁盘空间配额 |
fdisk |
Linux下的分区工具 |
findfs |
查找文件系统 |
fsck |
检查与修复Linux文件系统 |
grub |
Linux下的引导加载器 |
hdparm |
调整硬盘I/O性能 |
lilo |
Linux加载器 |
lsattr |
显示文件的ext2文件系统属性 |
mkbootdisk |
为当前系统创建专门的引导软盘 |
mke2fs |
创建第2扩展文件系统 |
mkfs |
创建各种文件系统 |
mkinitrd |
创建初始化ram磁盘映像文件 |
mkisofs |
创建光盘映像文件 |
mknod |
创建块设备或字符设备文件 |
mkswap |
创建交换分区文件系统 |
mktemp |
创建临时文件 |
mount |
加载文件系统 |
parted |
磁盘分区管理工具 |
quota |
显示用户磁盘配额 |
quotacheck |
创建、检查和修复配额文件 |
quotaoff |
关闭文件系统的磁盘配额功能 |
quotaon |
打开文件系统的磁盘配额功能 |
quotastat |
显示磁盘配额状态 |
repquota |
显示文件系统磁盘配额信息报表 |
swapoff |
关闭交换空间 |
swapon |
激活交换空间 |
sync |
强制将缓存数据写入磁盘 |
tune2fs |
调整ext2/ext3文件系统的参数 |
umount |
卸载已经加载的文件系统 |
十、Linux下常用命令:内核与性能
命令name |
命令作用 |
depmod |
处理内核可加载模块的依赖关系 |
dmesg |
显示内核的输出信息 |
free |
显示内存使用情况 |
insmod |
加载模块到内核 |
iostat |
报告CPU、I/O设备及分区状态 |
ipcs |
显示进程间通信的状态信息 |
kernelversion |
显示内核主版本号 |
lsmod |
显示已加载的模块 |
modinfo |
显示内核模块信息 |
modprobe |
加载内核模块并解决依赖关系 |
mpstat |
显示进程相关状态信息 |
rmmod |
从内核中删除模块 |
sar |
收集、显示和保存系统活动信息 |
slabtop |
实时显示内核的slab缓存信息 |
sysctl |
运行时修改内核参数 |
tload |
监视系统平均负载情况 |
top |
显示和管理系统进程 |
uname |
显示系统信息 |
uptime |
显示系统运行时间及平均负载 |
vmstat |
显示虚拟内存的状态 |
十一、Linux下常用命令: X-Window系统
命令name |
命令作用 |
startx |
初始化X-Window会话 |
xauth |
X系统授权许可文件管理工具 |
xhost |
显示和配置X服务器的访问权限 |
xinit |
X-Window系统初始化程序 |
xlsatoms |
显示X服务器原子数据定义 |
xlsclients |
显示指定显示器上运行的X程序 |
xlsfonts |
显示X服务器使用的字体信息 |
xset |
设置X系统的用户偏爱属性 |
十二、Linux下常用命令:系统安全
命令name |
命令作用 |
chroot |
以指定根目录运行指令 |
nmap |
网络探测工具和安全扫描器 |
scp |
加密的远程复制工具 |
sftp |
安全文件传输工具 |
slogin |
加密的远程登录工具 |
ssh |
加密的远程登录工具 |
sudo |
以另一个用户身份执行指令 |
十三、Linux下常用命令: 编程相关指令
命令name |
命令作用 |
awk/gawk |
模式扫描与处理语言 |
expr |
计算表达式的值 |
gcc |
GNU的C语言编译器 |
gdb |
GNU调试器 |
ldd |
显示共享库依赖 |
make |
工程编译工具 |
nm |
显示目标文件的符号表 |
perl |
perl语言的命令行工具 |
php |
PHP脚本语言命令行接口 |
test |
条件测试 |
十四、Linux下常用命令:其他系统管理与维护指令
命令name |
命令作用 |
arch |
显示当前主机的硬件架构 |
at |
按照时间安排任务的执行 |
atq |
查询待执行的任务 |
atrm |
删除待执行的任务 |
batch |
在指定时间运行任务 |
chkconfig |
设置系统在不同运行等级下所执行的服务 |
crontab |
按照时间设置计划任务 |
last |
显示以前登录过系统的用户相关信息 |
lastb |
显示登录系统失败的用户相关信息 |
logrotate |
系统日志的轮循工具 |
logsave |
将命令的输出信息保存到日志文件 |
logwatch |
报告和分析系统日志 |
lsusb |
显示所有的USB设备 |
patch |
补丁与更新文件 |
rpm |
Red Hat软件包管理器 |
runlevel |
显示当前系统的运行等级 |
service |
Linux服务管理和控制工具 |
telinit |
切换当前系统的运行等级 |
yum |
RPM软件包自动化管理工具 |
十五、Linux下常用命令:网络配置
命令name |
命令作用 |
dnsdomainname |
显示系统的DNS域名 |
domainname |
显示和设置主机域名 |
hostname |
显示或者设置系统主机名 |
ifcfg |
配置网络接口 |
ifconfig |
配置网络接口的网络参数 |
ifdown |
关闭指定网络接口 |
ifup |
启动指定网络接口 |
nisdomainname |
显示和设置主机域名 |
route |
显示与操纵本机的IP路由表 |
ypdomainname |
显示和设置主机域名 |
十六、Linux下常用命令:网络测试与应用
命令name |
命令作用 |
arp |
管理本机arp缓冲区 |
arping |
向相邻主机发送ARP请求报文 |
arpwatch |
监听网络上的ARP信息 |
dig |
域名查询工具 |
elinks |
纯文本网页浏览器 |
elm |
电子邮件客户端程序 |
ftp |
文件传输协议客户端 |
host |
DNS域名查询工具 |
ipcalc |
IP地址计算器 |
lynx |
纯文本网页浏览器 |
mail |
电子邮件管理程序 |
ncftp |
增强的FTP客户端工具 |
netstat |
显示网络状态 |
nslookup |
DNS域名查询工具 |
pine |
电子邮件和新闻组处理程序 |
ping |
测试到达目标主机的网络是否通畅 |
rsh |
远程shell |
telnet |
远程登录工具 |
tftp |
简单文件传输协议客户端 |
tracepath |
追踪数据经过的路由 |
traceroute |
追踪数据包到达目的主机经过的路由 |
wget |
从指定URL地址下载文件 |
十七、Linux下常用命令:高级网络指令
命令name |
命令作用 |
arptables |
管理内核的ARP规则表 |
ip |
强大的多功能网络配置工具 |
iptables |
IP包过滤与NAT管理工具 |
iptables-save |
保存内核中iptables的配置 |
iptables-restore |
还原iptables的配置信息 |
tcpdump |
监听网络流量 |
十八、Linux下常用命令: 网络服务器指令
命令name |
命令作用 |
ab |
Web服务器性能测试 |
apachectl |
Apache HTTP服务器控制接口 |
exportfs |
管理NFS服务器共享的文件系统 |
htdigest |
管理用于摘要认证的用户文件 |
htpasswd |
管理用于基本认证的用户文件 |
httpd |
Apache超文本传输协议服务器 |
mailq |
显示待发送的邮件队列 |
mysql |
MySQL服务器的客户端工具 |
mysqladmin |
MySQL服务器管理工具 |
msqldump |
MySQL服务器备份工具 |
mysqlimport |
MySQL数据库导入工具 |
mysqlshow |
显示MySQL数据库、表和字段信息 |
nfsstat |
显示网络文件系统状态 |
sendmail |
电子邮件传送代理程序 |
showmount |
显示NFS服务器上的加载信息 |
smbclient |
samba服务器客户端工具 |
smbmount |
加载samba文件系统 |
smbpasswd |
改变samba用户的密码 |
squid |
HTTP代理服务器程序 |
sshd |
OpenSSH守护进程 |
参考文章出处:
Shell命令大全 -疯狂之桥的博客
Linux权限描述解读