Linux笔记 (Linux Notes)
Linux笔记
内容:主要讲解常用命令
2015年12月
时空
Linux概述
Linux的内核版本
38页1.2.5
Linux发行版
目前Linux主要分为两大分支:
Debian
使用dpkg方式安装软件,包括Debian, Ubuntu(Linux Mint)
全球最高份额,deb包非常方便
deb包
sudo dpkg -i 软件包
sudo dpkg -r 软件名
Red Hat
使用RPM方式安装软件,包括Red Hat(CentOS), Fedora, SuSE
只有中国份额较高。因为进入中国比较早,很多人不愿意换
rpm包
开源许可证
45页1.3.3
Linux的安装
开机流程
两种启动方式:BIOS和UEFI
以前:BIOS启动
对应MBR磁盘,MBR分区表
只有4个主分区
现代:UEFI启动
对应GPT磁盘,GUID分区表
无限主分区
Mac默认使用GPT
MBR方式开机流程
72页3.2.4
磁盘分区
初学:在硬盘尾部安装,全部使用逻辑分区
挂载点 | 容量 | 格式 |
---|---|---|
/ | 剩下的空间 | ext4 |
swap | 与内存大小相同 | swap |
正常:
挂载点 | 容量 | 格式 |
---|---|---|
/boot | 100M | ext4 |
/ | 相当于系统盘 | ext4 |
/home | 剩下的空间 | ext4 |
swap | 与内存大小相同 | swap |
常用命令
X Window热键
X Window与文字模式的切换:[Ctrl] + [Alt] + [F1]~[F6]
重启X Window:Ctrl+Alt+Backspace
基础命令和热键
列出文件
1 | $ ls |
显示日期与时间
1 | $ date |
日历
1 | $ cal |
计算器
1 | $ bc |
热键
Tab
命令补齐、文件补齐Ctrl+C
停止程序Ctrl+D
EOF、离开
在线求助
1 | $ man 要查询的命令 |
超简单文本编辑器:nano
1 | $ nano test.txt |
数据同步写入磁盘
1 | $ sync |
关机
1 | # shutdown -h now |
重启
1 | # reboot |
切断电源(不建议)
1 | # halt |
切换执行等级:init
1 | # init 0 # 关机 |
设置当前用户的密码
1 | $ passwd |
Linux文件操作
Windows中的文件夹在Linux中叫目录。
特殊的目录.
代表此层目录..
代表上层目录-
代表前一个工作目录~
代表当前用户主目录~account
代表account这个用户主目录
目录相关操作
切换目录:cd
1 | $ cd [相对路径或绝对路径] |
显示当前目录:pwd
1 | $ pwd |
新建目录:mkdir
1 | $ mkdir test # 新建一个名为test的目录 |
删除空目录:rmdir
1 | $ rmdir test |
环境变量:$PATH
使用echo显示$PATH
1 | $ echo $PATH |
文件操作命令
查看文件与目录:ls
1 | $ ls |
复制:cp
1 | $ cp 源文件 目标文件 |
删除:rm
1 | $ rm 文件或目录 |
移动、重命名:mv
1 | $ mv 源文件 目标文件 |
文件内容查阅
直接查看一个文件的内容:cat
1 | $ cat test.txt |
反向查看:tac
1 | $ tac test.txt |
添加行号打印:nl
1 | $ nl test.txt |
翻页查看:more
1 | $ more test.txt |
上下翻页查看:less
1 | $ less test.txt |
只看前面几行:head
1 | $ head test.txt # 默认10行 |
只看后面几行:tail
1 | $ tail test.txt |
查看非纯文本文件:od
1 | $ od test.txt |
修改文件时间或创建新文件:touch
1 | $ touch new.txt # 创建一个名为new.txt的文件 |
查看文件类型:file
1 | $ file test.txt # ASCII text |
文件的查找
188页7.5.2
寻找执行文件
1 | $ which ifconfig |
在数据库中寻找特定文件:whereis, locate
1 | $ which test.txt |
扫描硬盘查找:find
1 | $ find [PATH] [option] [action] |
Linux目录配置标准:FHS
152页
可分享的(shareable) | 不可分享的(unsharealbe) | |
---|---|---|
不变的(static) | /usr (软件放置处) | /etc (配置文件) |
/opt (第三方软件) | /boot (开机与内核文件) | |
可变动的(variable) | /var/mail(用户邮件信箱) | /var/run (程序相关) |
/var/spool/news(新闻组) | /var/lock (程序相关) |
Linux的文件权限
用户与用户组
139页6.1
文件所有者,用户组,其他人
root是万能的
查看文件权限
1 | $ ls -al |
文件类型与权限
可读、可写、可执行
1 | -rwxrwxrwx 4 root root 4096 Sep 8 14:06 test.txt |
文件权限 连接数 文件所有者 文件所属用户组 文件大小 修改时间 文件名
文件权限分为文件类型和3组权限
文件类型
d
表示目录-
表示文件l
表示连接文件b
表示接口设备```
c1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
表示串口设备
- 3组权限
- 第一组:文件所有者的权限
- 第二组:同用户组的权限
- 第三组:其他非本用户组的权限
> 142-144页例题练习
### 改变文件属性与权限
改变所属用户组:chgrp
chgrp root test.txt
1 |
|
chown root:root dir
1 |
|
$ chmod 777 test.txt
$ chmod 755 test.txt
1 |
|
$ chmod u/g/o/a +/-/= r/w/x 文件或目录
$ chmod u=rwx,go=rx test.txt
$ chmod a-x test.txt
$ chmod a+w test.txt
1 |
|
$ umask #查看
$ umask -S
$ umask 002 #设置
$ umask 022
1 |
|
$ df -h
1 |
|
$ du
$ du -a # 同时列出文件容量
$ du -sm # s: 只列出总量 m: MB
1 |
|
$ ln /etc/crontab .
$ ll -i
1 |
|
$ ln -s /etc/crontab crontab2
$ ll -i /etc/crontab ./crontab2
1 |
|
$ gzip file
$ zcat file.gz
$ gzip -d file.gz
1 |
|
$ bzip2 -z file
$ bzcat file.bz2
$ bzip2 -d file.bz2
1 |
|
$ tar -zcvf dir.tar.gz dir
$ tar -jcvf dir.tar.bz2 dir
$ tar -cvf dir.tar dir
1 |
|
$ tar -zxvf dir.tar.gz
$ tar -jxvf dir.tar.bz2
$ tar -zxvf dir.tar.gz -C /tmp
1 |
|
tar -zpcvf etc.tar.gz /etc
tar -jpcvf etc.tar.bz2 /etc
1 |
|
$ tar -ztvf dir.tar.gz
$ tar -jtvf dir.tar.bz2
1 |
|
$ vim 文件名
1 |
|
$ vim 新文件名
1 |
|
i, I, a, A, o, O
1 |
|
:set nu
:set number
:set nonu
:set nonumber
1 |
|
:set nu
:set number
:set nonu
:set nonumber
1 |
|
:数字
数字G
1 |
|
dd
数字dd
1 |
|
yy
数字yy
1 |
|
p
1 |
|
Ctrl+v
1 |
|
set nu
```