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分区一般为:
- 先分200M给
/boot
用于启动 - 后分2048M(两倍于内存大小但不超过2G)给
swap
交换分区 - 之后分1024M给
/home
存放登陆用户的配置和私人文件 - 最后把剩余的空间都分配给
/
根分区,存放系统所必须的文件
上面提到的/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系统相关文档内容