文件目录
pwd
显示当前所在目录的位置
ls
ls
显示当前目录下的所有文件名(不含隐藏文件)
ls -a
显示所有文件名(含隐藏文件)
ls -l
显示当前目录下的所有文件详细信息
ls -s
显示占用的磁盘块数
磁盘块是什么呢?
我们从机械硬盘讲起,首先了解扇区的概念:
绿色部分为扇区
一圈灰色的部分叫做磁道
存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
下图磁盘是一个 3个圆盘6个磁头,7个柱面(每个盘片7个磁道) 的磁盘,图3中每条磁道有12个扇区,所以此磁盘的容量为: 6 7 12 * 512 = 258048字节
硬盘的最小存储单位就是扇区了,而且硬盘本身并没有block的概念
文件系统不是一个扇区一个扇区的来读数据,太慢了,所以有了block(块)的概念,它是一个块一个块的读取的,block才是文件存取的最小单位。
df
df是磁盘管理命令,先来知道是哪种文件系统
df -T
显示文件系统的形式
df -h
更可读,采用M,G描述大小
可见是ext4文件系统
sudo tune2fs -l /dev/vdb | grep "Block size"
一个block是4K字节,也就是说我所使用的文件系统中1个块是由连续的8个扇区组成。
扇区是对硬盘而言,块是对文件系统而言。
tree
以树的形式显示目录,更加形象
du
显示目录文件大小,单位kByte
-h 以M,G显示,更清楚,按照1024换算
cd
切换目录
cd 目录
mkdir
创建目录
cp
拷贝文件,目录需要加-r
rm
删除文件,目录需要加-r
rmdir
等价于rm -r
mv
移动文件
find
用于在指定目录下查找文件
任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find / -name xxx
全盘查找名称含是xxx的文件和目录,注意是全称匹配
此时已经了解了如何查看linux目录中有哪些文件,那么我们如何查看文件的具体内容呢?
文本查看
cat
more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示
more /var/log/dmesg
查看 内核日志
在boot阶段,所有的应用还没有启动,syslogd也未启动,这时内核日志是非常重要的信息。除了设备初始化日志、内核模块日志,它还会包含一些应用崩溃的相关信息记录,了解dmesg的使用对于调试程序相当重要。
实际上等同于 dmesg | more
head
head –n 文件名 查看文件头几行,n是行数
tail
tail –n 文件名 查看文件尾几行,n是行数
echo
echo于在shell中打印shell变量的值,或者直接输出指定的字符串。
$号后面为变量名
输出环境变量
输出转义
grep
grep 命令用于查找文件里符合条件的字符串,可以上述其他文本查看命令联合使用,中间用|号分割
grep 匹配字符 目标文件
-n显示所在行号
-A往后多显示几行
-B往前多显示几行
-r目标为目录时需要指定
文本处理
wc
wc指令我们可以计算文件的Byte数、字数、或是列数
wc -l
获取指定文件的行数
wc
获取行数、单词数、字节数
awk
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具
将文件每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' 文件
结合使用wc和awk获取文件行数
wc
获取行数为12、单词数12、字节数192
用户命令
(2)系统调用
(3)库函数
(4)特殊文件
(5)文件格式
(6)游戏
(7)综合
(8)系统管理和特权命令
(9)内核接口(不是所有的linux发行版都包括)
可见chmod有1,2主题,我们现在查看主题1,使用如下命令
man 1 命令名
man 1 chmod
info
文档树的形式显示帮助文档
info 命令名 # 直接查看指定命令的部分
info # 进入文档树
用户管理
who
显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
使用权限:所有使用者都可使用。
who
显示当前登录系统的用户
who -H
显示标题栏
who -T
关于 -T 选项的 ‘+、-、?’: ‘+’ 允许写入信息 ‘-‘ 禁止写入信息 ‘?’ 不能查找到终端设备
w
w命令用于显示目前登入系统的用户信息,与who类似
系统管理
date
Linux date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,
格式设定为一个+号后接数个标记
kill
发送信号
kill -l
查看所有信号
kill -信号数字 进程pid
pid可以通过ps命令获取
kill -9 进程pid
常用来发送kill信号来强行杀死进程
ps
ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
- -A 列出所有的进程
- -e:此选项的效果和指定"A"选项相同。
- u:以用户为主的格式来显示程序状况。
- -f:显示UID,PPIP,CMD与STIME栏位。
- -l或l:采用详细的格式来显示程序状况。
ps -l //将目前属于您自己这次登入的 PID 与相关信息列示出来
ps -ef //显示所有命令,连带命令行
ps -ef | grep 进程关键字 //一般配合grep 进程关键字,用来找指定进程的pid
问题
功能测试宏是什么?
大小单位很奇怪?
4096实际上是目录文件的默认分配大小,并不是实际已经用的大小,也不是目录里的文件总大小,除非目录包含文件太多,才会大于此值
stat -f与df看到的文件系统不同
/dev/下的文件所属文件系统很奇怪
stat中device是什么
stat命令其实是查看文件系统的inode信息
如果是普通文件,则是所在硬盘设备号,由主设备号+次设备号构成,后缀h/d分别代表十六进制hexadecimal和十进制decimalism
如fc02h则代表主设备号fc,次设备号02
通过df -T 命令查看当前文件所属文件系统为/dev/vda2
查看/dev/vda2的设备号,其中252,2正是此硬盘的主次设备号,用16进制表示为fc,02,合并起来则是fc02h,转为十进制则是64514d