Linux基础学习笔记

Linux基础学习笔记1

本文发布于博客frankwtq
记录Linux学习初期的一些基本知识,每一节其实都可以展开说,但是本文只是简单的介绍

参考资料

  • 主要为视频资料:慕课网
  • 辅助书籍:Linux从入门到精通(刘忆智 清华大学出版社)

系统分区之分区与格式化

安装Linux系统时最主要的操作就是分区,这里说明一些基础知识

  • 硬盘分为:IDE、SCSI和SATA硬盘。Linux中IDE接口的设备被称为hd,SCSI和SATA接口的设备被称为sd。第一块硬盘是sda,第二块为sdb......
  • Linux中一块硬盘只能存在4个主分区:sda1、sda2、sda3和sda4。
  • 主分区中sda4一般作为扩展分区(只能有一个),扩展分区不写入数据,只是包含逻辑分区,逻辑分区就不限制个数,标识从5开始。

每个系统都需要一个主分区来引导,这个分区中存放着引导整个系统所必须的程序和参数。Win中的C盘就是一个主分区,Linux中则是sda1。操作系统可以安装在主分区或逻辑分区,但引导程序必须在主分区内。

格式化:在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。

文件系统:FAT16(File Allocation Table 文件分配表)、FAT32、NTFS(New Technology File System)、EXT2(second extended filesystem第二代扩展文件系统)、EXT3、EXT4

Linux分区一般为:

  1. 先分200M给/boot用于启动
  2. 后分2048M(两倍于内存大小但不超过2G)给swap交换分区
  3. 之后分1024M给/home存放登陆用户的配置和私人文件
  4. 最后把剩余的空间都分配给/根分区,存放系统所必须的文件

上面提到的/boot、/home、/都是挂载点,是访问各个分区的入口,相当于Win下的盘符概念

Linux常用命令

文件处理命令

目录处理命令(目录相当于win中的文件夹)

建立目录(make directories):mkdir [选项] [目录名]
    -p 递归创建  

切换所在目录(change directory):cd [目录]
    cd ~   进入当前用户的家目录
    cd     同上
    cd -   进入上次目录
    cd ..  进入上一级目录
    cd .   进入当前目录
    相对路径./abc   绝对路径/abc
    一次table键补全命令或文件名
    两次table键显示所有符合要求的命令或文件名  

查询所在目录位置(print working directory):pwd  

删除目录(remove empty directories):rmdir [目录名]
    只能删除空目录  

文件处理命令(文件用来保存数据)

删除文件或目录(remove):rm -rf [文件或目录]
    -r  删除目录
    -f  强制
    注意命令:rm -rf /   这会删除linux的根文件,相当于自杀  

复制命令(copy):cp [选项] [原文件或目录] [目标目录]
    -r  复制目录
    -p  连带文件属性复制,如创建时间
    -d  若软文件是链接文件,则复制链接属性
    -a   相当于-pdr  

ll命令就是ls -l的简写  

剪切或改名(move):mv [原文件或目录] [目标目录]  

链接命令

链接命令(link):ln -s [原文件] [目标文件]
    -s 创建软连接  
  • 硬链接:创建一个inode和原文件一样的目标文件
    • 拥有相同的i节点和存储block块,可以看做是同一个文件,删除其中一个对另一个没影响。
    • 不能跨分区,不能针对目录使用
  • 软链接:创建一个新的文件,这个文件的内容为原文件的inode和原文件名。
    • 类似win的快捷方式
    • 权限要看原文件的权限
    • 删除原文件,软链接不能使用
    • 创建软连接必须使用绝对地址标明原文件位置

文件搜索命令

文件搜索命令locate

locate 文件名
    在后台数据库中按文件名搜索,搜索速度更快
    /var/lib/mlocate
    updatedb更新数据库
    /etc/updatedb.conf配置文件  

命令搜索命令whereis与which

whereis 命令名
    搜索命令所在路径及帮助文档所在位置
    -b  只查找可执行文件
    -m  只查找帮助文件 

which 命令名
    搜索命令所在路径及别名 
    不是所有命令都能找到,例如cd命令就无法找到,因为cd命令是shell自带的命令,用whereis和which能找到的命令都是外部安装的命令  
    PATH环境变量:定义的是系统搜索命令的路径,win中也有PATH环境变量       

文件搜索命令find

find [搜索范围] [搜索条件]
    搜索文件
    find / -name install.log
    避免大范围搜索,会非常耗费系统资源
    find是在系统中搜索符合条件的文件名。如果需要匹配,使用通配符
    通配符
        *   匹配任意内容
        ?   匹配任意一个字符
        []  匹配任意一个括号内的字符
    find /root -iname install.log
        不区分大小写的搜索
    find /root -user root
        按照所有者搜索
    find /root -nouser
        查找没有所有者的文件
        linux中没有所有者的文件都是垃圾文件,可以直接删除
        !除了:    /proc和/sys中的文件不能删除
        外来文件(如u盘或光盘中的),由于有可能是win中的文件,而win中文件忽略了所有者的概念,所以在linux中显示可能没有所有者。
    find /var/log/ -mtime +10
        查找10天前修改的文件
        -10 10天内修改的文件
        10  10天当天修改的文件
        +10 10天前修改的文件
        atime 文件访问时间
        ctime 改变文件属性
        mtime 修改文件内容
    find . -size 25k
        查找文件大小是25KB的文件
        -25k    小于25KB的文件
        25k 等于
        +25k    大于
        25M 25兆
        25  25个块,一个块是一个扇区一般为512KB
    find . -inum 262422
        查找i节点是262422的文件
    find /etc -size +20k -a -size -50k
        查找/etc/目录下,大于20KB并且小与50KB的文件
        -a and 逻辑与
        -o or  逻辑或
    find /etc -size +20k -a -size -50k -exec ls -lh {} \;
        查找。。。的文件,并且显示详细信息
        -exec 命令 {} \;对搜索结果执行操作  

字符串搜索命令grep Globally search a Regular Expression and Print在全球范围内搜索正则表达式并打印

grep [选项] 字符串 文件名
    在文件中匹配符合条件的字符串
    -i 忽略大小写
    -v 排除指定字符串  

find命令与grep命令的区别

  • find:在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
  • grep:在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。

帮助命令

man 命令 
    获取指定命令的帮助
    在帮助文件中输入"/-d"可以查找-d出现的位置
    查看命令拥有哪个级别的帮助
        man -f 命令
        相当于
        whatis 命令
            第一次使用时要makewhatis更新库
    man -k 命令   
    相当于
    apropos 命令
        查看和命令相关的所有帮助  

命令 --help
    获取命令选项的帮助
    例如:ls --help  

help shell内部命令
    获取shell内部命令的帮助
    可以通过whereis 命令来确定命令是否是shell内部命令  

info 命令
    - 回车:   进入子帮助页面(带有*号标记)
    - u:        进入上层页面
    - n:        进入下一个帮助小节
    - p:        进入上一个帮助小节
    - q:        退出

压缩与解压缩命令

**常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2 **
.zip格式压缩(linux同win格式一样)

zip 压缩文件名 原文件
    压缩文件
zip -r 压缩文件名 源目录
    压缩目录  
unzip 压缩文件
    解压缩.zip文件  

.gz格式压缩(linux专有压缩格式,但是win下可以解压缩)

gzip 原文件
    压缩为.gz格式的压缩文件,原文件会消失
gzip -c 原文件 > 压缩文件
    压缩为.gz格式,原文件保留
    例如:gzip -c cangls > cangls.gz
    关键字">"的作用是把命令的结果写入后面的文件中
    选项"-c"的作用是显示原文件压缩后的结果,不会损害原文件
gzip -r 目录
    压缩目录下所有的子文件,但是不能压缩目录
gzip -d 压缩文件
    解压缩
gunzip 压缩文件
    解压缩  

.bz2格式压缩

bzip2 原文件
    压缩为.bz2格式,不保留原文件
bzip2 -k 原文件
    压缩之后保留原文件
    !注意:bzip2命令不能压缩目录
bzip2 -d 压缩文件
    解压缩,-k保留压缩文件
bunzip2 压缩文件
    解压缩,-k保留压缩文件  

打包命令tar

tar -cvf 打包文件名 原文件
    -c  打包
    -v  显示过程
    -f  指定打包后的文件
    例如:  tar -cvf longzls.tar longzls
tar -xvf 打包文件名
    -x  解打包
    例如: tar -xvf longzls.tar  

.tar.gz压缩格式(其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式)

tar -zcvf 压缩包名.tar.gz 原文件
    -z    压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
    -x  解压缩.tar.gz格式
tar -zxvf 压缩包名.tar.gz -c 解压位置
    -c  指定解压到的位置  

.tar.bz2压缩格式

tar -jcvf 压缩包名.tar.bz2 原文件
    -z  压缩为.tar.gz格式
tar -jxvf 压缩包名.tar.bz2
    -x  解压缩.tar.gz格式
tar -jxvf 压缩包名.tar.bz2 -c 解压位置
    -c  指定解压到的位置
    同时压缩多个文件可以把其他文件接在后面
    例如:tar -zcvf /tmp/test.tar.gz jp anaconda-ks.cfg
tar -jtvf test.tar.gz   
    只测试解压文件,看看里面的内容,但是不解压

关机和重启命令

shutdown命令

[root@localhost ~]# shutdown [选项] 时间
    -c  取消前一个关机命令
    -h  关机
    -r  重启
shutdown -r 05:30 &
    关键字"&"表示把当前命令放到后台执行
    !远程服务器不能关机  

其他关机命令(不推荐)

halt
poweroff
init 0
reboot  
init 6
init用来调用系统运行级别
系统运行级别
    0   关机
    1   单用户 类似于win中的安全模式
    2   不完全多用户,不含NFS服务  不包含NFS的普通字符界面
    3   完全多用户   普通的字符界面
    4   未分配
    5   图像界面
    6   重启
runlevel
    显示之前的系统级别和当前的系统级别
    /etc/inittab文件可修改系统默认运行级别 id:3:initdefault:
logout  
    退出登录命令

挂载命令

mount
    查询系统中已经挂载的设备
    -a  依据内置文件/etc/fstab的内容,自动挂载
mount [-t文件系统] [-o特殊选项] 设备文件名 挂载点
    -t  文件系统:加入文件系统类型来指定挂载的类型,可以是ext3 ext4 iso9660(光盘类型)等文件系统
    -o  特殊选项:可以指定挂载的额外选项  

挂载光盘

mkdir /mnt/cdrom/
    建立挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom/
    挂载光盘,其中cdrom是sr0的软链接,所以写成/dev/cdrom也是可以
    -t iso9660也可以省略

卸载命令

umount 设备文件名或挂载点
例如:umount /mnt/cdrom

挂载U盘

fdisk -l
    查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
    vfat指的是fat32,单个文件不能超过4个G的大小
    Linux默认是不支持NTFS文件系统的,就算通过修改内核或是安装相关软件也只能读NTFS文件系统而不能写,所以一般要想从win想Linux传输数据都是通过网络传输的

用户登录查看和用户交互命令

查看登录用户信息

w 用户名
    USER    登录的用户名
    TTY 登录终端,从哪个终端登录进来的
    FROM    从哪个IP地址登录的
    LOGIN@  登录的时间
    IDLE    用户闲置时间
    JCPU    和该终端连接的所有进程占用的时间。不包括过去的后台作业世家你,但是却包括当前正再运行的后台作业所占用的时间
    PCPU    当前进行所占用的时间
    WHAT    当前正在运行的命令  

who 用户名
    用户名
    登录终端
    登录时间(登录来源IP地址)

查询当前登录和过去登录的用户信息
last
last命令默认是读取/var/log/wtmp文件数据
用户名
登录终端
登录IP
登录时间
推出时间(在线时间)
查看所有用户的最后一次登录时间

lastlog
    lastlog命令默认是读取/var/log/lastlog文件内容
    用户名
    登录终端
    登录IP            
    最后一次登录时间

常用目录作用:

/根目录
/bin命令保持目录(普通用户)/sbin(root用户)
/boot启动目录,启动相关文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户的家目录
/lib系统库保存目录
/mnt系统挂载目录
/media挂载目录
/root超级用户的家目录
/tmp临时目录
/proc和/sys直接写入内存的,是内存的挂载点,不能操作
/usr系统软件资源目录
    /usr/bin系统命令(普通用户)
    /usr/sbin系统命令(root)
/var系统相关文档内容

你可能感兴趣的:(Linux基础学习笔记)