3-2
终端命令行
linux 有 5 个终端界面:tty1 ~ tty5
control + alt + f1 进入图形界面
control + alt + f2 进入 tty1 终端
control + alt + f6 进入 tty5 终端
登录用户 退出登录输入 exit
参数
短参数
command -a
command -a -b -c -d
command -abcd
command -aA
command -a 10
- 短参数,只有一个字母,在
-
后面跟参数名 - 可以有多个参数,通过空格分割
- 多个参数可以合并
- 参数区分大小写
- 参数可以赋值,通过空格分割
长参数
command --param
command --param1 --param2
command --param=10
command -abcd --param1 --param2
- 长参数,有多个字母,在
--
后面跟参数名 - 可以有多个参数,通过空格分割,多个参数不可以合并
- 参数可以赋值,通过
=
连接参数名和参数值 - 短参数和长参数可以一起使用
3-3
两次按 Tab
键补全命令
history
history
查看所有历史命令
history 10
查看最近 10 条历史命令
history -c
清除所有历史命令
!5
执行第 5 条历史命令
!ls
执行最近的一条以 ls
开头的历史命令
快捷键
-
Ctrl + L
清除屏幕 -
Ctrl + C
终止大部分的执行程序 -
Ctrl + D
给终端传递EOF
-
Ctrl + A
光标跳到一行命令的开头 -
Ctrl + E
光标跳到一行命令的结尾 -
Ctrl + U
删除光标左侧的所有字符 -
Ctrl + K
删除光标右侧的所有字符 -
Ctrl + W
删除光标左侧的单词,以空格分割的单词 -
Ctrl + Y
在光标处粘贴通过Ctrl + U
Ctrl + K
Ctrl + W
删除的内容
3-4
目录结构
/home 用户家目录
/root root 用户家目录
/etc 配置文件
/var 日志
/usr 软件资源,类似 C:\Windows 和 C:\Programs 的集合
/bin 软连接,指向 /usr/bin 所有用户都可以使用的程序
/sbin 软连接,指向 /usr/sbin 系统级别需要使用的程序
/lib 软连接,指向 /usr/lib,运行程序需要的库文件
命令
- pwd
- which
Linux 下的每一条命令对应一个可执行程序,输入一条命令其实就是执行命令对应的应用程序
pwd
命令就是执行 /usr/bin/pwd 这个应用程序
which pwd
3-6
ls
ls -lath
cd
两次按 Tab
键补全路径
cd
进入家目录
cd -
进入上一次目录
du
du -h
读取目录大小
du -ah
读取目录和文件大小
du -sh
只显示目录总计的大小,不列出目录中子目录和文件的大小
3-7
cat
cat <file1> <file2>
一次性显示文件的所有内容,可以把多个文件合并显示
less
less <filepath>
一页页显示文件内容
空格键,前进一页
回车键,前进一行
b 键,后退一页
y 键,后退一行
q 键,退出文件
/ 进入搜索模式 n 下一个匹配项 N 上一个匹配项
head
head -n 5 <filepath>
显示文件头 5 行
tail
tail -n 5 <filepath>
显示文件后 5 行
tail -f -s 5 <filepath>
每隔 5 秒,检查文件更新
touch
touch <file1> <file2>
创建文件,可以一次创建多个文件
mkdir
mkdir -p foo/bar/baz
递归创建目录
3-8
cp
cp <file> <new_file>
复制文件
cp <file> <dir>/
复制文件到 <div> 目录下
cp -r <dir> <new_dir>
复制目录
mv
mv <file>|<div> <new_file>|<new_dir>
移动文件或目录
mv *.txt one
将 当前目录下所有 .txt
文件移动到 one 目录中
rm
rm <file1> <file2> <file3>
rm -f <file>
强制删除文件,不会提示
rm -r <dir>
递归删除目录以及目录的所有内容
rm -rf <file>|<div>
3-9
Linux 文件包括文件名和文件内容
硬链接
只能指向文件,两个文件名指向同一个 inode,也就是两个文件名指向相同的文件内容。删除一个文件不影响另一个文件。
硬链接只能指向文件,不能指向目录
硬链接不能跨分区
ln source_file linked_file
ls -i
查看 inode
软连接
软连接相当于 Windows 中的快捷方式,可以指向文件或目录,新文件指向原来的文件,两个文件的 inode 不同。删除新文件,原来的文件不受影响,删除原来的文件,新文件变成无效链接。
软连接可以指向目录
软连接可以跨分区
软连接的 source 必须是绝对路径
ln -s source_file linked_file
大部分情况使用软连接
压缩文件
打包:将多个文件变成一个总的文件,这个总的文件一般被称为 archive
压缩:将一个大文件通过某些算法变成一个小文件
首先使用 tar
将多个文件归档为一个总的文件,称为 archive
使用 gzip
或 bzip2
将 archive 压缩为更小的文件
tar
tar -cvf
创建归档
# 将 sorting 目录中的文件打包到 sorting.tar 的归档中
tar -cvf sorting.tar sorting
# 将多个文件打包到 archive.tar 的归档中,但是最好先将所有文件放到一个目录中,否则解压之后会在当前目录产生多个文件
tar -cvf archive.tar file1 file2 file3
tar -rvf
追加内容到已有归档
# 追加 file4 文件到 sorting.tar 的归档中
tar -rvf sorting.tar file4
tar -tf
显示归档中的内容,并不解开归档
# 查看 sorting.tar 中的内容
tar -tf sorting.tar
tar -xvf
解开归档的内容
# 解开 sorting.tar 中的内容
tar -xvf sorting.tar
gzip bzip2 gunzip bunzip2
- .tar.gz 用
gzip
命令压缩后的文件的扩展名 - .tar.bz2 用
bzip2
命令压缩后的文件的扩展名
# 直接将 sorting.tar 压缩成 sorting.tar.gz
gzip sorting.tar
# 直接将 sorting.tar 压缩成 sorting.tar.bz2
bzip2 sorting.tar
# 将 sorting.tar.gz 解压缩
gunzip sorting.tar.gz
# 将 sorting.tar.bz2 解压缩
bunzip2 sorting.tar.bz2
tar -zcvf
归档,然后用 gzip 来压缩
# 打包压缩一步到位
tar -zcvf sorting.tar.gz sorting
# 解压
tar -zxvf sorting.tar.gz
tar -jcvf
归档,然后用 bzip2 来压缩
# 打包压缩一步到位
tar -jcvf sorting.tar.bz2 sorting
# 解压
tar -jxvf sorting.tar.bz2
zcat zmore zless
显示用 gzip
命令压缩的文件内容
zcat sorting.tar.gz
bzcat bzmore bzless
显示用 bzip2
命令压缩的文件内容
bzcat sorting.tar.bz2
zip unzip
zip 可以压缩文件,也可以压缩目录,压缩目录需要 -r 参数
zip -r sorting.zip sorting
unzip sorting.zip
文件传输
wget
wget 从远程下载文件
wget 文件的HTTP或FTP地址
scp
scp 命令基于 SSH 协议
将本地文件复制到远程服务器
scp ~/file.txt root@192.168.100.10:/root
将服务器文件复制到本地
scp root@192.168.100.10:/root/file.txt file.txt
rsync
rsync 命令基于 SSH 协议
本地同步
# 将 images 目录下的所有文件备份到 backups 目录下
rsync -arv images/ backups/
# 默认增量备份,源目录中删除一个文件,目标目录不会删除该文件,如果想要同步删除,需要参数 --delete
rsync -arv --delete images/ backups/
-r 递归
-a 递归,且保留文件信息,有 -a 就可以不用 -r
-v 显示进度信息
远程同步
# 将本地同步到远程
rsync -av source/ username@remote_host:destination
# 将远程同步到本地
rsync -av username@remote_host:source/ destination
网友评论