学习思路:总----->分------------>总;
程序:指令+数据;
内核功能:进程管理,内存管理,文件系统,网络功能,硬件驱动,安全机制;
基础命令:
命令 | 常用选项 | 作用 | |
ls | 列表 | ||
-l | 长格式显示详细信息(详细信息参见图-1所示) | ||
-h | 以人类可读方式显示,单位转换 | ||
-a | 显示隐藏信息 | ||
-A | 显示隐藏文件(但不显示.和..)![]() |
||
-d | 显示目录自身属性 | ||
-i |
显示inode | ||
-r | 逆序显示 | ||
-R | 递归显示 | ||
文件类型:
- : 普通文件
d : 目录文件
b : 块设备文件
c: 字符串设备文件
l : 链接文件(符号链接(也叫软链接)文件)
p : 管道文件
s : 套接字文件
权限:
9位。每3位1组,每组的权限都有r(读:4)w(写:2)x(执行:1)
第一组:代表文件拥有者,属主权限
第二组:代表文件所属组的权限
第三组:代表其他人的权限
还有特殊权限:suid,sgid (粘滞位权限 将 x 变为 s)
时间戳:(ls -l 显示的时间是最近一次被访问的时间)
访问时间:access
修改时间:modify (文件内容发生了变化)
改变时间:change , metadata , 元数据发生了变化
cd | 切换目录 (cd - : 在当前目录和上一级目录之间来回切换) |
type | 显示属于哪种类型(①内部命令:shell内置,内建;;②外部命令:在文件系统的某个路径下有一个与命令名称对应的可执行文件。) |
环境变量: 命名的内存空间(例子:变量赋值: NAME=ZZZHBR 解释:在内存中找一段空间叫NAME,数据内容为ZZZHBR);;路径(PATH)使用“:”分割的一堆路径 环境变量设置: 使用 unset命令 可以删除全部环境变量 如: unset PATH source/etc/profile是让/etc/profile文件修改后立即生效;还有一种方法是:. /etc/profile 注意:.和/etc/profile有空格 Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: |
|
hash | 缓存,可查看使用过的命令的路径和次数 (级别:o(1):衡量程序执行速度的标准) |
获得帮助的途径:
内部命令 | help COMMAND | man COMMAND(一般比较少用) |
外部命令 | COMMAND --help (简要信息帮助) | man COMMAND 命令手册,一般分章节(1,用户命令(/bin ; /usr/bin ; /usr/local/bin ; ) 2,系统调用 3,库用户调用;4,特殊文件; 5,文件格式;6,游戏;7,杂项;8.超级用户命令)详细信息参见man使用说明 |
在线文档 | info COMMAND | 更加详细的说明,前世今生都会讲 |
帮助文档 | /usr/share/doc | |
搜索引擎帮助 | google,baidu | |
官方使用文档手册 | 相关书籍等 | |
whatis COMMAND | 可以查看命令在man中出现在哪几个章节 |
man命令说明 | 章节 | 详细说明 |
man 数字 COMMAND | 1 | 用户命令(/bin ; /usr/bin ; /usr/local/bin ; ) |
2 | 系统调用 | |
3 | 库用户调用 | |
4 | 特殊文件(设备文件。没有数据,只提供访问路口) | |
5 | 文件格式(解释某一命令配置文件的语法) | |
6 | 游戏 | |
7 | 杂项 | |
8 | 超级用户命令(/sbin ; /usr/sbin ; /usr/local/sbin ; ) |
MAN:
代号 | 内容说明 |
NAME | 简要说明命令名称及功能 |
SYNOPSIS | 用法说明,包括可用的选项 |
DESCRIPTION | 命令功能的详尽说明,可能包括每一个选项的意义 |
OPTIONS | 说明每一个选项的意义 |
FILES | 此命令相关的配文件,相关文档 |
BUGS | |
EXAMPLES | 使用示例 |
SEE ALSO | 另外参照 |
按鍵 | 進行工作 |
空白鍵 | 向下翻一頁 |
[Page Down] | 向下翻一頁 |
[Page Up] | 向上翻一頁 |
[Home] | 去到第一頁 |
[End] | 去到最後一頁 |
/string | 向『下』搜尋 string 這個字串,如果要搜尋 string 的話,就輸入 /string |
?string | 向『上』搜尋 string 這個字串 |
n, N | 利用 / 或 ? 來搜尋字串時,可以用 n 來繼續下一個搜尋 (不論是 / 或 ?) ,可以利用 N 來進行『反向』搜尋。舉例來說,我以 /string 搜尋 string 字串, 那麼可以 n 繼續往下查詢,用 N 往上查詢。若以 ?string 向上查詢 string 字串, 那我可以用 n 繼續『向上』查詢,用 N 反向查詢。 |
q | 結束這次的 man page |
命令用法 | 选项 | 说明 |
[ option ] | [ ] | 中括号里的选项代表可省略 |
[c | cut | .... ] | | | | 代表选项可选 |
<> | <> | 代表必须给出的内容 |
... |
... | 可以使用多次 |
{ } |
{ } | 分组 |
时间说明:
命令 | 选项 | 说明 |
data | 显示时间 | |
修改时间 | hwclock -w (修改硬件时间同步到系统时间) | |
hwclock -s (修改系统时间同步到硬件时间) | ||
系统关机后再次开机时间依旧正确:因为主板带了有纽扣电池。有晶体振荡器,保证时间的 准确,每次开机都是将硬件时间同步至系统时间(windows) | linux有系统时间(cpu模拟晶体振荡器)和硬件时间;所以可能导致时间不一致 hwclock:硬件时间 |
|
cal | 日历显示 |
目录管理:
ls
cd
pwd
mkdir -p -v
tree
touch
stat
以下详细信息摘抄自老男孩博客http://oldboy.blog.51cto.com/2561410/1951107 然后整理补充说明一些常用选项和使用
命令 |
功能说明 |
线上查询及帮助命令(2个) |
|
man |
查看命令帮助,命令的词典,更复杂的还有info,但不常用。 |
help |
查看Linux内置命令的帮助,比如cd命令。 |
文件和目录操作命令(18个) |
|
ls |
全拼list,功能是列出目录的内容及其内容属性信息。 |
cd |
全拼change directory,功能是从当前工作目录切换到指定的工作目录。 |
cp |
全拼copy,其功能为复制文件或目录。 |
find |
查找的意思,用于查找目录及目录下的文件。 |
mkdir -p -v |
全拼make directories,其功能是创建目录。 |
mv |
全拼move,其功能是移动或重命名文件。 |
pwd |
全拼print working directory,其功能是显示当前工作目录的绝对路径。 |
rename |
用于重命名文件。 |
rm -r -f |
全拼remove,其功能是删除一个或多个文件或目录。 |
rmdir |
全拼remove empty directories,功能是删除空目录。 |
touch |
创建新的空文件,改变已有文件的时间戳属性。 |
tree |
功能是以树形结构显示目录下的内容。 |
basename |
显示文件名或目录名。 |
dirname |
显示文件或目录路径。 |
chattr |
改变文件的扩展属性。 |
lsattr |
查看文件扩展属性。 |
file |
显示文件的类型。 |
md5sum |
计算和校验文件的MD5值。 |
查看文件及内容处理命令(21个) |
|
cat -n |
全拼concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。 |
tac |
tac是cat的反向拼写,因此命令的功能为反向显示文件内容。 |
more |
分页显示文件内容。 |
less |
分页显示文件内容,more命令的相反用法。 |
head -f -n |
显示文件内容的头部。 |
tail -f -n |
显示文件内容的尾部。 |
cut -d:指定字段分隔符 -f:指定要现实的字段 |
将文件的每一行按指定分隔符分割并输出。 |
split |
分割文件为不同的小片段。 |
paste |
按行合并文件内容。 |
sort -n:数值排序 -u:排序后相同的行只显示一次 -t:字段分隔符 -f:忽略大写小 -k:以哪个字段为关键字进行排序 -r:降序 |
对文件的文本内容排序。 |
uniq -c:显示文件中行重复的次数 -d:只显示重复的行 |
去除重复行(相邻重复行) |
wc -l -w -c -L |
统计文件的行数、单词数或字节数。 |
iconv |
转换文件的编码格式。 |
dos2unix |
将DOS格式文件转换成UNIX格式。 |
diff |
全拼difference,比较文件的差异,常用于文本文件。 |
vimdiff |
命令行可视化文件比较工具,常用于文本文件。 |
rev |
反向输出文件内容。 |
grep/egrep |
过滤字符串,三剑客老三。 |
join |
按两个文件的相同字段合并。 |
tr (tr ‘ab’ ‘AB’ abc ABc apple Apple ) -d:删除字符集中出现的所有字符 |
替换或删除字符。 |
vi/vim |
命令行文本编辑器。 |
文件压缩及解压缩命令(4个) |
|
tar |
打包压缩。 |
unzip |
解压文件。 |
gzip |
gzip压缩工具。 |
zip |
压缩工具。 |
信息显示命令(11个) |
|
uname |
显示操作系统相关信息的命令。 |
hostname |
显示或者设置当前系统的主机名。 |
dmesg |
显示开机信息,用于诊断系统故障。 |
uptime |
显示系统运行时间及负载。 |
stat |
显示文件或文件系统的状态。 |
du |
计算磁盘空间使用情况。 |
df |
报告文件系统磁盘空间的使用情况。 |
top |
实时显示系统资源使用情况。 |
free |
查看系统内存。 |
date |
显示与设置系统时间。 |
cal |
查看日历等时间信息。 |
搜索文件命令(4个) |
|
which |
查找二进制命令,按环境变量PATH路径查找。 |
find |
从磁盘遍历查找文件或目录。 |
whereis |
查找二进制命令,按环境变量PATH路径查找。 |
locate |
从数据库 (/var/lib/mlocate/mlocate.db)查找命令,使用updatedb更新库。 |
用户管理命令(10个)老男孩 |
|
useradd |
添加用户。 |
usermod |
修改系统已经存在的用户属性。 |
userdel |
删除用户。 |
groupadd |
添加用户组。 |
passwd |
修改用户密码。 |
chage |
修改用户密码有效期限。 |
id |
查看用户的uid,gid及归属的用户组。 |
su |
切换用户身份。 |
visudo |
编辑/etc/sudoers文件的专属命令。 |
sudo |
以另外一个用户身份(默认root用户)执行事先在sudoers文件允许的命令。 |
基础网络操作命令(11个)老男孩 |
|
telnet |
使用TELNET协议远程登录。 |
ssh |
使用SSH加密协议远程登录。 |
scp |
全拼secure copy,用于不同主机之间复制文件。 |
wget |
命令行下载文件。 |
ping |
测试主机之间网络的连通性。 |
route |
显示和设置linux系统的路由表。 |
ifconfig |
查看、配置、启用或禁用网络接口的命令。 |
ifup |
启动网卡。 |
ifdown |
关闭网卡。 |
netstat |
查看网络状态。 |
ss |
查看网络状态。 |
深入网络操作命令(9个) |
|
nmap |
网络扫描命令。 |
lsof |
全名list open files,也就是列举系统中已经被打开的文件。 |
发送和接收邮件。 |
|
mutt |
邮件管理命令。 |
nslookup |
交互式查询互联网DNS服务器的命令。 |
dig |
查找DNS解析过程。 |
host |
查询DNS的命令。 |
traceroute |
追踪数据传输路由状况。 |
tcpdump |
命令行的抓包工具。 |
有关磁盘与文件系统的命令(16个) |
|
mount |
挂载文件系统。 |
umount |
卸载文件系统。 |
fsck |
检查并修复Linux文件系统。 |
dd |
转换或复制文件。 |
dumpe2fs |
导出ext2/ext3/ext4文件系统信息。 |
dump |
ext2/3/4文件系统备份工具。 |
fdisk |
磁盘分区命令,适用于2TB以下磁盘分区。 |
parted |
磁盘分区命令,没有磁盘大小限制,常用于2TB以下磁盘分区。 |
mkfs |
格式化创建Linux文件系统。 |
partprobe |
更新内核的硬盘分区表信息。 |
e2fsck |
检查ext2/ext3/ext4类型文件系统。 |
mkswap |
创建Linux交换分区。 |
swapon |
启用交换分区。 |
swapoff |
关闭交换分区。 |
sync |
将内存缓冲区内的数据写入磁盘。 |
resize2fs |
调整ext2/ext3/ext4文件系统大小。 |
系统权限及用户授权相关命令(4个) |
|
chmod |
改变文件或目录权限。 |
chown |
改变文件或目录的属主和属组。 |
chgrp |
更改文件用户组。 |
umask |
显示或设置权限掩码。 |
查看系统用户登陆信息的命令(7个) |
|
whoami |
显示当前有效的用户名称,相当于执行id -un命令。 |
who |
显示目前登录系统的用户信息。 |
w |
显示已经登陆系统的用户列表,并显示用户正在执行的指令。 |
last |
显示登入系统的用户。 |
lastlog |
显示系统中所有用户最近一次登录信息。 |
users |
显示当前登录系统的所有用户的用户列表。 |
finger |
查找并显示用户信息。 |
内置命令及其它(19个) |
|
echo |
打印变量,或直接输出指定的字符串 |
printf |
将结果格式化输出到标准输出。 |
rpm |
管理rpm包的命令。 |
yum |
自动化简单化地管理rpm包的命令。 |
watch |
周期性的执行给定的命令,并将命令的输出以全屏方式显示。 |
alias |
设置系统别名。 |
unalias |
取消系统别名。 |
date |
查看或设置系统时间。 |
clear |
清除屏幕,简称清屏。 |
history |
查看命令执行的历史纪录。 |
eject |
弹出光驱。 |
time |
计算命令执行时间。 |
nc |
功能强大的网络工具。 |
xargs |
将标准输入转换成命令行参数。 |
exec |
调用并执行指令的命令。 |
export |
设置或者显示环境变量。 |
unset |
删除变量或函数。 |
type |
用于判断另外一个命令是否是内置命令。 |
bc |
命令行科学计算器 |
系统管理与性能监视命令(9个) |
|
chkconfig |
管理Linux系统开机启动项。 |
vmstat |
虚拟内存统计。 |
mpstat |
显示各个可用CPU的状态统计。 |
iostat |
统计系统IO。 |
sar |
全面地获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、 CPU中断和网络等性能数据。 |
ipcs |
用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。 |
ipcrm |
用来删除一个或更多的消息队列、信号量集或者共享内存标识。 |
strace |
用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。 |
ltrace |
命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用。 |
关机/重启/注销和查看系统信息的命令(6个) |
|
shutdown |
关机。 |
halt |
关机。 |
poweroff |
关闭电源。 |
logout |
退出当前登录的Shell。 |
exit |
退出当前登录的Shell。 |
Ctrl+d |
退出当前登录的Shell的快捷键。 |
进程管理相关命令(15个) |
|
bg |
将一个在后台暂停的命令,变成继续执行 (在后台执行)。 |
fg |
将后台中的命令调至前台继续运行。 |
jobs |
查看当前有多少在后台运行的命令。 |
kill |
终止进程。 |
killall |
通过进程名终止进程。 |
pkill |
通过进程名终止进程。 |
crontab |
定时任务命令。 |
ps |
显示进程的快照。 |
pstree |
树形显示进程。 |
nice/renice |
调整程序运行的优先级。 |
nohup |
忽略挂起信号运行指定的命令。 |
pgrep |
查找匹配条件的进程。 |
runlevel |
查看系统当前运行级别。 |
init |
切换运行级别。 |
service |
启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。 |
如何获取linux当前最新的内核版本号:www.kernel.org
linux的符号:
>输出重定向(清除原来存在的内容)
>>输出追加重定向(追加到原来内容的后面)
0>标准输出重定向
0>>标准输出追加重定向
1>标准输出正常从定向
1>>标准输出正常追加重定向
2>> 错误输出追加重定向
2> 错误输出重定向
< 输入重定向
<<输入追加重定向
0<标准输入重定向
0<<标准输入追加重定向
1<标准输入正常从定向
1<<标准输入正常追加重定向
说明:箭头的指向就是数据流的方向
0表示输入输出
1表示正常输入输出
2表示错误输入输出
/dev/null 黑洞,即所有的内容都扔进黑洞,不保存
\ 让原本有意义的字符脱掉马甲,还原他本来的意义
. 代表任意一个字符
.* 代表所有
| 管道
.. 上一级目录
. 当前目录
!1)取反;2)!数字 执行第几条历史记录 ; 3)字母 调出最近一次用此字母开头的命令 ; 4)!!表示最近一次执行的命令
&&并且(相当于find -a)
常用快捷键
tab 补全命令或路径
ctrl+a到句首
ctrl+e到句首
ctrl+k把光标以后的内容删除
ctrl+u把光标以前的内容删除