Linux基本命令
2015-12-08 22:49
447 查看
一、系统分区相关命令:
整个系统分区流程为:硬盘分区---格式化---给分区定义设备名---挂载
分区类型:(取决于硬盘结构,所有系统都要遵守)
主分区:
最多只能有4个。原因是硬盘被分为一个个扇区,一个扇区有512个字节,其中446个字节用于数据记录,其他64个字节用于分区表示,每16个字节表示1个分区,共能分4个主分区。
扩展分区:
将一个主分区作为扩展分区,最多只能有一个,且一个硬盘中主分区+扩展分区最多有4个。不能写入数据,只能包含逻辑分区。
逻辑分区:
理论上可以分为32个逻辑分区。
格式化:(写入文件系统)
文件系统名 | 说明 |
---|---|
FAT16 | 最大支持2GB的分区,目前不再使用。 |
FAT32 | 分区大小16T,但单个文件大小不能超过4GB。 |
NTFS | win中最新的文件系统 |
EXT2、3、4 | Linux中使用的文件系统。 |
a.将分区分为等大小的数据块(block,每个默认4KB)
b.给每个数据块分配文件ID号(I node),设置修改时间,权限,文件保存的数据块的位置、顺序
分区设备文件名:给所有分区定义设备文件名(linux专有)
物理设备 | 设备文件名 |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
光驱 | /dev/cdrom或/dev/hdc |
软盘 | /dev/fd[0-1] |
打印机(25针) | /dev/lp[0-2] |
打印机(USB) | /dev/usb/lp[0-15] |
鼠标 | /dev/mouse |
举例:
/dev/hda1 第一块硬盘第一分区 IDE接口
/dev/sda1 第一块硬盘第一分区 SCSI、SATA接口(串口)
SATA(串口硬盘)
挂载:(分配盘符)
挂载点(目录) === 盘符
/boot /home / 从数据安全性方面考虑,最好给它们分配三个分区,启动、用户数据、系统数据最好分开,不然会出现系统存储数据太多,导致没有足够的空间启动系统来删除,或用户数据太多导致系统崩溃等情况。
系统必须分配的分区:
/ 根分区
swap分区 (交换分区,4G之内为内存的2倍,4G之上等于内存)
(也就是虚拟内存,当内存不够时使用此空间作为内存使用,但因为是临时用硬盘来做内存数据的临时存放,大量的读写会导致系统运行速度下降)
推荐分配的分区:
/boot (启动分区,200MB,保证一直有空余空间,使系统可以启动)
/home 非root用户的家目录
在CLI中涉及到的分区命令fdisk:
命令 | 说明 |
---|---|
fdisk -l | 查看硬盘信息 |
fdisk /dev/sdb | 写入硬盘分区表 |
磁盘分区与格式化:
分区模式之MBR:
主分区不超过4个,单个分区最大2TB
分区模式之GPT:(不适合X86系统,32位系统)
主分区最多128个,单个分区容量18EB。
(1EB =1024PB,1PB = 1024TB,1TB = 1024GB)
parted 分区工具,既可以分MBR,也可以分GPT,使用过程:
切换到目标磁盘: select /dev/sdc
指定分区表类型:
mklabel msdos MBR分区表
mklabel gpt GPT分区表
print查看类型信息
print all
mkpart 新建分区
mkfs 格式化
mkfs.ext3 /dev/sdb1
mkfs -t ext4 /dev/sdb2
挂载:
mkdir -p /mnt/xxx
mount /dev/sdb1 /mnt/xxx //临时挂载,重启失效
umount /mnt/xxx //逆操作
/etc/fstab //增加配置,启动就挂载
增加swap分区:
建立一个普通的Linux分区(83)
修改分区类型的16进制编码(82)
格式化分区
mkswap /dev/sdb6
启用交换分区
swapon /dev/sdb6
查看:
free
停止:
swapoff /dev/sdb6
二、Linux命令格式
命令格式与常用命令介绍
命令的基本格式:
#超级用户 $ 普通用户
-简化选项 –完整选项
ls -l后的信息解释:
-rw-r–r–. 1 root root 1207 最后一次修改时间 文件名
第一位表示文件类型:
常用3种: -文件 d目录 |软链接文件
不常用4种(系统的特殊文件):块设备文件、字符设备文件、套接字文件、管道文件(c、b。。。)
之后每3位一组:
u所有者、g所属组、o其他人
r读、w写、x执行
.有ACL权限时变为+
1 引用计数
root 所有者
root 所属组
1207 文件大小,单位字节(-lh K、M)
文件名以“.”开头的文件是隐藏文件
ls -l(longinfo) -d(directory) -h(human) -a(all) -i(inode) ll:ls -l
目录处理命令
mkdir -p(递归创建) (make directories) cd (change directory) cd ~/cd 回到家目录 cd - 返回上一次目录 cd ../. pwd (print working directory)
Linux常见目录规范:
/bin /sbin /usr/bin /usr/sbin 保存命令文件,bin下所有用户都可以使用,sbin下只有超级用户可以使用。 /boot 启动目录 /dev 硬件文件目录 /etc 系统配置文件目录 /home 普通用户家目录 /root 超级用户家目录 /lib Linux函数库保存目录 /media /mnt /misc 空目录,外接存储设备挂载目录。 /sys /proc 内存的挂载点 /tmp 临时目录 /usr 系统软件资源目录 /var 系统的可变文档目录
文件处理命令
rmdir 删除目录 rm -rf 文件或目录 rm -rf / 这条语句可以执行,但会清空系统中的所有数据,所以使用时需要小心被删除的文件 cp 复制
链接命令
ln:link 硬链接:相同的inode,相同的内存地址,可以看做同一个文件,删除其中一个,另一个还可以使用。 限制:不能跨分区、不能针对目录。 软连接:有自身的inode,自身的内存地址,只是保存的是原文件的i节点信息。删除原文件,链接不可用。完全同window中的快捷方式。 限制:创建软连接时,原文件必须与链接在同一个目录,或者使用绝对路径表示原文件。
三、文件搜索命令
1. 文件搜索命令 —— locate
特点: 1.搜索速度比find快。在/var/lib/mlocate下的数据库中搜索文件,该数据库保存所有文件信息,但一天更新一次,所以找不到最新新建的文件。 2.按配置文件/etc/updatedb.conf中的配置项来进行搜索
配置项 | 功能说明 |
---|---|
PRUNE_BIND_MOUNTS=”yes” | 开启搜索限制 |
PRUNEFS=”“ | 搜索时,不搜索的文件系统 |
PRUNENAMES=”“ | 搜索时,不搜索的文件类型 |
PRUNEPATHS=”“ | 搜索时,不搜索的路径。 |
locate 文件名 //搜索指定文件名的文件
updatedb //强制更新数据库,即可搜索更新之前新建的文件
locate locate
缺点:只能按文件名来搜索。
2.搜索命令的命令 —— whereis
whereis 命令名 //命令所在位置和“帮助文档”。 (whoamI 用户名,whatis 命令:该命令干什么的) whereis ls ls命令和帮助文档所在位置,不能查文件 which 命令名 //可以查看命令所在位置和“别名”。 echo $path //查看环境变量
3.强大的文件查找命令 —— find
遍历所有文件,耗费大量资源
注意:
避免大范围的搜索,会非常耗费系统资源。
find命令搜索的目标文件名必须与制定的完全一致,即要求完全匹配,若需要模糊匹配,请使用通配符
格式:
find 搜索范围 [选项] 搜索条件 find / -name sys.log 通配符的使用: find / cb63 root -name "*" * 匹配任意多个字符 ? 匹配任意一个字符 [] 匹配[]中的任意一个字符 find /root -iname XXX //不区分大写匹配 find /root -user root //按照所有者搜索 find /root -nouser //搜索没有所有者的文件(清理垃圾文件) 1.内核产生的文件可能没有所有者,proc、sys文件 2.外来文件(U盘等) 除以上两种,没有所有者的文件就是垃圾文件。 find /var/log/ -mtime +10 //查找10天前修改的文件 mtime 修改文件内容 modify ctime 改变文件属性 change atime 文件访问时间 access -10 10天内修改 10 10天当天修改的文件 +10 10天前修改的文件 find . -size 25k //查找当前目录大小刚好为25K的文件 -25k 小于25k +25k 大于25k M 文件大小单位,注意k为小写,M大写。 不加单位,默认为数据块(扇区),且不同于分区时的数据块(4KB),而是扇区(每个扇区为512字节)的数据块。 find . -inum 66666 //按inode搜索。 find /etc -size +20k -a -size -50k -exec ls -lh {} \; -a 逻辑与 -o 逻辑或 -exec/-ok 命令 {} \; 对搜索结果执行操作。固定格式。
4.文件内容搜索命令 —— grep
grep为包含匹配(正则表达式),搜索某个文件的内容,而非查找某个文件的位置。grep 字符串 文件名 //在文件中查找包含有指定字符串的行 grep -v 字符串 文件名 //取反,在文件中找不包含的行。 -i 忽略大小写
以下为工作中经常需要使用的一条命令:
find . -type f -exec grep -n hello '{}' ';' -print //作用:在当前目录下搜索所有含hello字符串的文件,打印找到的行和文件名 find . -type f | grep -n hello //这条命令的作用为:找到所有文件,打印出文件名或路径含hello的项,效果不同
5.字符统计命令 —— wc 命令
wc 文件名: 统计文件包含多少行(-l),多少个字符,多少个单词
四、查看命令的帮助文档:
man 命令 //进入命令帮助页/-d 查找-d说明 按n键查看下一个说明。 shift+n查看上一个说明。 man -f 命令 命令所有等级 man 等级 命令 指定等级的命令。 whatis 命令 whereis 命令 man -k 命令 相当于: apropos 命令 帮助文档中,所有与命令相关(含该关键字的)的文件,含配置文件等
help 命令 //获取内部命令
区别: man 获取外部命令 whereis 结果没有执行文件目录,即为内部命令,否则为外部命令 命令 --help
info 命令
进入一个大的帮助文档,操作如下 回车 //在带有*号标记的位置,进入子帮助页面 -u //进入上层页面 -n //进入下一个帮助小结 -p //进入上一个帮助小结 -q //退出
五、压缩与解压缩
常用压缩格式: .zip .gz .bz2 .tar.gz tar.bz2
1. zip压缩
压缩: zip 压缩文件名 原文件 zip -r 压缩文件目录 解压缩: unzip 压缩文件 解压缩 zip文件特点: 可以在windows中解压缩,也可以取windows中的zip文件在linux中解压缩。
2. gz压缩
压缩: gzip 原文件 压缩为.gz格式的压缩文件,原文件会消失。生成文件名.gz的压缩文件。 .gz为Linux专用格式,但windows中可以解压缩.gz文件。 gzip -c 原文件 将原文件压缩后输出在显示屏上,原文件不消失。 gzip -c 原文件 > xxx.zip 将信息保存到xxx.zip文件 gzip -r 原文件目录 压缩目录下的子文件,但是不压缩目 解压缩: gzip -d 压缩文件 gunzip 压缩文件 gunzip -r 压缩目录
3. bz2压缩
压缩: bzip2 原文件 压缩为bz2格式,删除原文件 bzip2 -k 保留原文件 不能压缩目录。 解压缩: bzip2 -d 压缩文件 bunzip2 压缩文件 -k保留压缩文件
4. tar打包
为解决压缩目录的问题,可以将目录打包为文件后,即可使用gzip、bzip2来压缩文件tar -cvf 打包文件名 源文件 //打包 选项说明 -c : 打包 -v :显示过程 -f :指定打包后的文件名 tar -xvf 打包后的文件名 //将打包后的文件解开。 -x :解打包 打包并压缩: tar -zcvf 压缩包名.tar.gz 源文件 -z :压缩为.tar.gz格式 解压缩: tar -zxvf 压缩报名.tar.gz -x :解压缩.tar.gz格式 只是查看,不解压缩: tar -ztvf 压缩包名.tar.gz 对应的.tar.bz2文件的操作: tar -jcvf 压缩包名.tar.bz2(可以指定绝对路径) 源文件(多个原文件用空格隔开) -j :压缩为.tar.bz2格式 tar -jxvf 压缩包名.tar.bz2 -C 目录 解压缩到指定目录。 -x :解压缩.tar.bz2格式
六、其他常用命令:
1.关机与重启
安全的命令: shutdown -r now //立即重启计算机 -c 取消前一个关机命令 -h 关机 -r 重启 shutdown -r 05:30 & //05:30时重启计算机 &表示后台执行 其他命令: 关机:halt \ poweroff \ init 0 不太安全 重启:reboot \init 6 系统运行级别: 0 关机 1 单用户 //安全模式,启动最小程序,系统修复 2 不完全多用户,不含NFS服务 //字符界面,NFS为文件共享服务 3 完全多用户 //字符界面 4 未分配 5 图形界面 6 重启 runlevel //查询当前运行级别 N 3: N 空 //上一个级别 3 字符界面 //当前级别 配置系统启动后的默认运行级别:/etc/iittab logout 退出登录
2. 用户登录:
w //查看登录用户信息 who //w的部分信息 last //查询当前登录和过去登录的用户信息 last 默认是读取/var/log/wtmp文件数据 lastlog //查看所有用户的最后一次登录时间 lastlog默认是读取/var/log/lastlog文件的内容
3. 设备挂载:
命令说明:mount 查看系统中已挂载的设备 mount -a 依据配置文件/etc/fatab的内容,自动挂载,但是不建议将光驱、U盘自动挂载,原因:如果找不到配置文件中的内容,系统将无法启动。 mount [-t 文件系统] [-o 特殊设备] 设备文件名 挂载点 -t 文件系统: ext4 、 光驱的iso9660等文件系统 -o 特殊选项: 可以指定挂载的额外选项 rw/ro exec/noexec remount 重新挂载 mount -o remount,noexec /home/ 改过后即使有执行权限,即使是root也不能执行。 mount -o remount,exec /home/
举个栗子:
光驱挂载: 0.建立挂载点: 任意空目录都可以作为挂载点 1.mkdir /mnt/cdrom 2.mount -t iso9660 /dev/sr0 /mnt/cdrom/ 挂载光驱 将设备文件/dev/sr0(光驱) 挂载到/mnt/cdrom下。 3.umount /mnt/cdrom/ 或使用umount /dev/sr0 使用完后必须要卸载才可以取出光盘。
另一个栗子:
U盘挂载: 1.fdisk -l 分区命令,查看系统中已经识别的硬盘 找到U盘对应的设备文件名,如sdb1。 2.mount -t vfat /dev/sdb1 /mnt/usb/ vfat 即fat32文件系统 Linux默认是不支持NTFS文件系统的。 ntfs-3g 使Linux支持NTFS文件系统。
相关文章推荐
- vivi下重新调整分区
- 逻辑卷管理(LVM) Linux 用户指南
- 建议的服务器分区办法
- 建议的分区办法
- 恢复主引导分区
- SQLServer 通用的分区增加和删除的算法
- C#判断指定分区是否是ntfs格式的方法
- mysql分表和分区的区别浅析
- Linux系统管理常用命令及参数说明中文版
- 阿里云主机Windows 2008服务器硬盘分区和格式化图文教程
- Linux系统信息查看常用命令
- 移动硬盘分区合并
- Linux查看磁盘分区等命令和相关工具
- 解决分区魔术师与Vista分区管理的冲突
- 将mbr的分区改为gpt分区
- 主引导分区VS超级块
- 如何解决安装CentOS时遇到引导分区位于一个GPT分区方案的错误提示问题
- windows分区的理解
- 分区表问题
- 硬盘分区