一、终端基础命令
命令 | 详解 |
---|---|
ls | 目录信息查看命令 ls -a 显示目录所有文件及文件夹,包括隐藏文件,比如以.开头的 |
cd | 目录切换命令 |
pwd | 当前路径显示命令 |
uname | 系统信息查看命令 |
clear | 清理屏幕命 |
cat | 显示文件内容命令 |
sudo | 切换用户身份命令 |
cp | 文件拷贝命令 |
su | 切换用户命令 |
mv | 移动文件命令 |
mkdir | 创建文件夹命令 |
touch | 创建文件命令 |
rm | 删除命令 |
rmdir | 目录删除命令 |
ifconfig | 显示网络配置信息命令 |
reboot | 重启命令 |
poweroff | 关机命令 |
man | 系统帮助命令 |
sync | 数据同步写入磁盘命令 |
find | 查找文件命令 |
grep | 查找内容命令 |
du | 文件夹大小查看命令 |
df | 磁盘空间检查命令 |
gedit | 使用gedit打开某个文件命令 |
ps | 当前的系统进程查看命令 |
top | 进程实时运行状态查看命令 |
file | 文件类型查看命令 |
二、软件安装
1. 通过APP Store安装
2. 使用APT工具安装
使用apt工具安装软件,需要sudo,也就是root权限。
使用apt包管理工具,apt可以自动下载,配置,安装。
// 使用apt安装git
sudo apt-get install git
3. deb软件包安装
使用dpkg命令安装deb软件包,命令如下:
sudo dpkg -i xxxx.deb
在windows下,我们安装的是.exe文件,在Ubuntu就有一个.deb。
4. 自己下载程序源码编译安装
Make
Make install
5. 其他安装方法
QT扩展名是.run
三、文件系统结构
1. 跟目录“/”
Linux下“/”就是根目录!所有的目录都是由根目录衍生出来的。
2. Ubuntu文件系统结构
目录 | 描述 |
---|---|
/bin | 存放二进制可执行文件,这些命令在单用户模式下也能够使用。可以被root和一般的账号使用。 |
/boot | Ubuntu内核和启动文件,比如vmlinuz-xxx。gurb引导装载程序。 |
/dev | 设备驱动文件 |
/etc | 存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。 |
/home | 系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。 |
/lib | 存放库文件 |
/media | 此目录下放置可插拔设备,比如SD卡,或者U盘就是挂载到这个目录中。 |
/mnt | 用户可使用的挂载点,如果要挂载一些额外的设备,那么就可以挂载到此处。 |
/opt | 可选的文件和程序存放目录,给第三方软件放置的目录。 |
/root | root用户目录,也就是系统管理员目录。 |
/sbin | 和/bin类似,也是存放一些二进制可执行文件。sbin下面的一般是系统开机过程中所需要的命令。 |
/srv | 服务相关目录。比如网络服务。 |
/sys | 记录内核信息,虚拟文件系统。 |
/tmp | 临时目录 |
/var | 存放一些变化的文件,比如日志文件 |
/usr | usr不是user的缩写,而是UNIX Software Resource的缩写,存放于系统用户有关的文件,会占用很大的存储空间! |
/proc | 虚拟文件系统,数据放置到内存中,存放系统运行信息 |
3. 绝对路径和相对路径
绝对路径:从根目录“/”算起的路径。
相对路径:相对于目前路径的文件名写法,比如./home/zzk。不是以“/”开头的就行。
“.”代表当前路径,也可以 用“./”表示
“…”代表上一层目录,也可以用“…/”表示
四、磁盘管理
1. 磁盘文件
/dev/sd*文件,此类文件是磁盘设备文件,并不能直接访问磁盘,必须要将磁盘挂载到某一个目录下才可以访问。
/dev/sdb和/dev/sdb1是U盘的设备文件。
/dev/sdb表示U盘,/dev/sdb1表示U盘的第一个分区。
注:Linux下大多数版本只支持磁盘“FAT32”格式
2. 磁盘和目录的容量查询命令
df:列出文件系统的整体磁盘使用量。主要查看个文件系统的使用量,
du:评估文件系统的磁盘使用量,主要查看单个文件的大小。
3. 磁盘挂载与卸载,分区和格式化
3.1 磁盘的挂载和卸载
mount
和umount
命令`
mount /dev/sdb1(设备) /media/eiker/udisk/(挂载地址)
3.2 磁盘分区
fdisk
命令
3.3 磁盘格式化
磁盘分区创建好以后就可以格式化磁盘,使用命令
mkfs
。如:
mkfs -t vfat /dev/sdx
五、压缩与解压缩
1. Linux下常用的压缩格式
Linux下常用的压缩扩展名有:.tar、.tar.bz2、.tar.gz。
2. gzip压缩工具
.gzip工具负责压缩和解压缩.gz格式的压缩包。
gzip xxx
压缩
gzip -d xxx.gz
解压缩
gzip -r xxx
对文件夹进行压缩
gzip -rd xxx.gz
对文件夹进行解压缩
gzip虽然可以对文件夹进行压缩,但是并不能提供打包的服务,只是对文件夹中的所有文件进行了单独的压缩。
3. bzip2压缩工具
和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包。
bzip2 -z xxx
压缩
bzip2 -d xxx.gz
解压缩
4. tar打包工具
参数 | 描述 |
---|---|
-f | 使用归档文件或 ARCHIVE 设备 |
-c | 创建新归档,创建压缩文件 |
-x | 从图档中解出文件,解压缩 |
-j | 使用bzip2压缩格式 |
-z | 使用gzip压缩格式 |
-v | 打印出命令执行过程 |
tar工具提供打包服务,就是将多个文件打包,比如
tar -vcf test.tar test
将test打包成test.tar
tar -vxf test.tar
解包
上面的tar命令只提供了打包和解包的功能,tar在提供打包和解包的同时使用gzip/bzip2进行压缩,实现类似windwos下winRAR软件的命令。
4.1 对.tar.bz2进行压缩和解压缩
tar -vxjf xxx.tar.bz2
解压缩
tar -vcjf xxx.tar.bz2 xxx
压缩
4.2 对.tar.gz进行压缩和解压缩
tar -vxzf xxx.tar.gz
解压缩
tar -vczf xxx.tar.gz xxx
压缩
5. 其他格式的压缩和解压缩
5.1 .rar格式
需要先安装rar:
sudo apt-get install rar
rar x xxx.rar
解压缩
rar a xxx.rar xxx
压缩
5.2 .zip格式
zip格式压缩使用“zip“命令:
zip -rv xxx.zip xxx
zip格式解压缩使用“unzip”命令:
unzip -v xxx.zip
注:因为Linux下很多文件是.bz2,.gz结尾的压缩文件,因此需要在windows下安装7ZIP软件
六、用户与用户组
1. Linux用户
Linux是一个多用户操作系统,不同的用户拥有不同的权限。可以查看和操作不同的文件。 Ubuntu有三种用户:
- 初次创建的用户。
- root用户
- 普通用户。
初次创建的用户权限比普通用户多,但是没有root用户多,初次创建的用户可以创建普通用户。
Linux用户记录在/etc/passwd这个文件内。
Linux用户密码记录在/etc/shadow这个文件内。
每个用户都有一个ID,叫做UID。
2. Linux用户组
为了方便管理,将用户进行分组。这样就可以设置非本组人员不能访问某些文件。每个用户可以属于多个不同的组。
用户:家里有你、弟弟、妹妹个人,每个人都有自己的房间,你们三个人都是用户,你们都不能随便的乱翻别人的房间。
用户组:你们三个都是一个家庭的,也就是属于同一个用户组,你们三个可以共用厨房,书房等空间。
因此:
用户和用户组的存在就是为了控制文件的访问权限的。
每个用户组都有一个ID,叫做GID。
用户组信息存储在/etc/group文件中。
3. 创建用户和用户组
3.1 图形化界面创建
要使用图形化界面创建用户和用户组的话就需要安装 gnome-system-tools 这个工具:
sudo apt-get install gnome-system-tools
3.2 命令创建用户和用户组
命令 | 指令 | 格式 |
---|---|---|
添加用户 | adduser | adduser 用户名 |
用户查询 | finger | finger 用户名 |
修改用户密码 | passwd | passwd 用户名 |
删除用户 | deluser | deluser 用户名 |
添加用户组 | addgroup | addgroup 用户组名 |
显示组内用户名 | groups | groups 用户组名 |
删除用户组 | delgroup | delgroup用户组名 |
七、文件权限管理
1. 文件权限
文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种:
- r:读
- w:写
- x:可执行
-rw-rw-r—就是文件权限,第一位表示文件类型,剩下的每三位表示一组权限。分别对应拥有者权限、拥有者所在组权限、其他用户权限。
可以使用二进制表示文件权限:r=4 w=2 x=1
a.c文件信息:- rw- rw- r–,a.c所属用户拥有读写权限无可执行权限。组内其他用户拥有读写权限无可执行权限,其他用户仅有可读权限。
2. 文件权限修改
2.1 修改文件权限命令
chmod 777 文件名
2.2 修改文件所属用户
chown 用户名 文件名
chown .用户组名 文件名
八、连接文件
1. Linux连接文件
Linux有两种连接文件:符号连接(软连接)和硬连接,符号连接类似Windows下的快捷方式。硬连接通过文件系统的inode连接来产生新文件名,而不是产生新文件。
inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。
2. ln命令
ln命令用于创建连接文件:
ln [选项] 源文件 目标文件
选项:-s 创建符号连接(软连接)
-f 强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连接文件。
3. 硬连接
硬链接是多个文件都指向同一个inode,硬链接知识点:
- 具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。
- 对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。
- 根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。
- 不论修改源文件还是连接文件,另一个文件的数据都会被改变。
- 硬连接不能跨文件系统。
- 硬连接不能连接到目录。
因为以上这些限制,硬链接其实不常用。
4. 符号连接(软连接)
符号连接类似Windows下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:
- 可以连接到目录。
- 可以跨文件系统。
- 删除源文件以后,软连接文件也就“打不开了”。
- 符号连接文件通过->来指示具体的连接文件。
- 符号连接要使用绝对路径,否则连接出问题。