Linux基本命令

一、系统分区相关命令:

整个系统分区流程为:硬盘分区---格式化---给分区定义设备名---挂载
  1. 分区类型:(取决于硬盘结构,所有系统都要遵守)
    主分区
    最多只能有4个。原因是硬盘被分为一个个扇区,一个扇区有512个字节,其中446个字节用于数据记录,其他64个字节用于分区表示,每16个字节表示1个分区,共能分4个主分区。
    扩展分区
    将一个主分区作为扩展分区,最多只能有一个,且一个硬盘中主分区+扩展分区最多有4个。不能写入数据,只能包含逻辑分区。
    逻辑分区
    理论上可以分为32个逻辑分区。

  2. 格式化:(写入文件系统)

    文件系统名说明
    FAT16最大支持2GB的分区,目前不再使用。
    FAT32分区大小16T,但单个文件大小不能超过4GB。
    NTFSwin中最新的文件系统
    EXT2、3、4Linux中使用的文件系统。

    格式化时的工作:
    a.将分区分为等大小的数据块(block,每个默认4KB)
    b.给每个数据块分配文件ID号(I node),设置修改时间,权限,文件保存的数据块的位置、顺序

  3. 分区设备文件名:给所有分区定义设备文件名(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

    1,2,3,4 只能给主分区或扩展分区使用,逻辑分区一定是从5开始的
    举例:
    /dev/hda1 第一块硬盘第一分区 IDE接口
    /dev/sda1 第一块硬盘第一分区 SCSI、SATA接口(串口)
    SATA(串口硬盘)

  4. 挂载:(分配盘符)

    挂载点(目录) === 盘符
    /boot /home / 从数据安全性方面考虑,最好给它们分配三个分区,启动、用户数据、系统数据最好分开,不然会出现系统存储数据太多,导致没有足够的空间启动系统来删除,或用户数据太多导致系统崩溃等情况。
    系统必须分配的分区:
    / 根分区
    swap分区 (交换分区,4G之内为内存的2倍,4G之上等于内存)
    (也就是虚拟内存,当内存不够时使用此空间作为内存使用,但因为是临时用硬盘来做内存数据的临时存放,大量的读写会导致系统运行速度下降)
    推荐分配的分区:
    /boot (启动分区,200MB,保证一直有空余空间,使系统可以启动)
    /home 非root用户的家目录


  • 在CLI中涉及到的分区命令fdisk:

    命令说明
    fdisk -l查看硬盘信息
    fdisk /dev/sdb写入硬盘分区表

    fdisk只能做MBR分区

  • 磁盘分区与格式化:

    • 分区模式之MBR
      主分区不超过4个,单个分区最大2TB
    • 分区模式之GPT:(不适合X86系统,32位系统)
      主分区最多128个,单个分区容量18EB。
      (1EB =1024PB,1PB = 1024TB,1TB = 1024GB)
  • parted 分区工具,既可以分MBR,也可以分GPT,使用过程:

    1. 切换到目标磁盘: select /dev/sdc
    2. 指定分区表类型:
      mklabel msdos MBR分区表
      mklabel gpt GPT分区表
    3. print查看类型信息
      print all
    4. mkpart 新建分区
    5. mkfs 格式化
      mkfs.ext3 /dev/sdb1
      mkfs -t ext4 /dev/sdb2
    6. 挂载:
      mkdir -p /mnt/xxx
      mount /dev/sdb1 /mnt/xxx //临时挂载,重启失效
      umount /mnt/xxx //逆操作
      /etc/fstab //增加配置,启动就挂载
    7. 增加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 /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),多少个字符,多少个单词

四、查看命令的帮助文档:

  1. man 命令 //进入命令帮助页

    /-d    查找-d说明
    按n键查看下一个说明。
    shift+n查看上一个说明。
    man -f 命令     命令所有等级
    man 等级 命令   指定等级的命令。
    whatis 命令 
    whereis 命令
    
    man -k  命令
    相当于:
    apropos  命令
        帮助文档中,所有与命令相关(含该关键字的)的文件,含配置文件等
    
  2. help 命令 //获取内部命令

    区别:
    man 获取外部命令
    whereis  结果没有执行文件目录,即为内部命令,否则为外部命令
    命令  --help
    
  3. 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文件系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值