本章意在介绍Linux系统的常用命令,要求掌握Linux一般命令格式,学会使用man命令来寻求帮助,学习使用命令对有关文件和目录进行操作,利用vi编辑器建立、编辑、显示及加工处理文本文件。
man
命令:显示联机帮助手册Linux的命令有很多参数,我们不可能全记住,我们可以通过man命令查看联机手册获取帮助。 格式:man 命令
# 显示出ls命令的功能及选项的含义
man ls
help
命令:显示帮助信息同时,也可以使用help
命令查看帮助信息.
# 显示出ls命令的功能及选项的含义
help ls
date
命令:显示时间显示或设置系统的日期或时间
cal
命令:显示日历显示公元1-9999年中任意一年或任意一个月的日历
who
命令:显示用户信息列出所有正在使用系统的用户、所有终端名和注册到系统的时间
clear
命令:清除信息清除屏幕上的信息
对文件可以进行的操作有:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等
pwd
命令:显示绝对路径基本语法
# 查看当前路径
pwd
ls
命令:显示所有的文件和目录如果未指定目录则默认显示当前目录先的所有文件和目录
基本语法:ls 目录或文件
# 查看当前路径下所有文件或目录
ls
# 查看当前路径下所有文件或目录的详细信息
ls -l
# 查看当前路径下的隐藏文件
ls -ai
cd
命令:切换目录基本语法:cd 目录
# 切换到 /home 目录下
cd /a
# 切换到用户主目录
cd ~
# 切换到上一次访问的目录
cd -
# 切换到当前目录的上一级
cd ..
mkdir
命令:创建目录基本语法:mkdir 目录名
# 创建一个 dir 目录(一级)
mkdir dir1
# 创建 dir1 目录,其下再创建 dir2 目录(多级)
# -p 选项用于创建多级目录
mkdir -p dir1/dir2
rmdir
命令:删除目录(空目录)基本语法:rmdir 目录名
# 删除 home 下的dir目录
rmdir /home/dir
mdir 删除的是空目录,目录下有内容时是无法删除的,-rf 则可删除非空目录
# 强制删除 home 下的 dir 目录
rmdir -rf /home/dir
touch
命令:创建空文件基本语法:touch 文件名
# 创建 hello.txt 空文件
touch hello.txt
cp
命令:拷贝文件或目录基本语法:cp 源文件 目标文件
# 拷贝 hello.txt 文件到 /tmp/files 目录中
cp file.txt /tmp/files
# 递归将 home 下的整个 dir1 目录拷贝到 dir2 目录下
cp -r /home/dir1 /dir2/
# 如果连续执行相同的拷贝命令系统会一个一个提示是否覆盖文件内的文件
# 这时在 cp 前加一个 \ 就可以进行强制覆盖,不提示
\cp -r /home/dir1 /dir2/
rm
命令:删除文件或目录基本语法:rm 文件或目录
# 删除指定的文件 file1.txt
rm file.txt
# 删除当前目录下的所有文件
rm *
# -r 递归删除 dir1 目录下的所有文件及子目录
rm –r dir1
# -f 强制删除文件,不提示
rm –f file.txt
mv
命令:移动或重命名基本语法:mv 旧文件名 新文件名、mv /源目录 /目标目录
# 将 file.txt 文件移到上层目录
mv file.txt ..
# 将 file1.txt 改名成 file2.txt
mv file1.txt file2.txt
重命名的前提是两个文件在同一个目录下
more
命令:文本过滤器基本语法:more 要查看的文件
# 查看 file.txt 文件的内容
more file.txt
more 指令是一个基于 vim 编辑器的文本过滤器(在后面我们我谈到vim编辑器)
可以以全屏幕的方式按页显示文本文件的内容,且有若干快捷键:
space
向下翻一页
Enter
向下翻一行
q
立即离开more,不再显示文件内容
Ctrl+F
向下滚动以一屏
Ctrl+B
返回上一屏
=
输出当前行的行号
:f
输出文件名和当前行的行号
cat
命令:查看文件内容或连接文件基本语法:cat 文件
> / >>
命令:输出重定向/追加重定向 > 会覆盖之前内容,追加 >> 会将新内容添加到之前内容的末尾
# 和 more 命令搭配使用,逐页显示
cat file.txt more
# 将 file2.txt 附加到 file1.txt 文件之后
cat file2.txt >> file1.txt
# 将 file1.txt 和 file2.txt 合并成 file3.txt 文件
cat file1.txt file2.txt > file3.txt
echo
命令:输出内容到控制台基本语法:echo 输出内容
# 输出环境变量 $PATH
echo $PATH
# 输出语句“Hello World”
echo "Hello World"
head
命令:显示文件开头部分基本语法:head 文件
默认情况下 head 显示文件的前十行
# 查看 file.txt 文件的前 10 行内容
head file.txt
# 查看 file.txt 文件的前 5 行内容
head -n 5 file.txt
tail
命令:显示文件尾部的部分基本语法:tail 文件
默认情况下 tail 显示文件的后十行
# 查看 file.txt 文件的后 10 行内容
tail file.txt
# 查看 file.txt 文件的后 5 行内容
tail -n 5 file.txt
# 查看 file.txt 文件的后 10 行内容,并实时追踪文件更新
tail -f file.txt
ln命令
:在文件间建立链接基本语法:ln [选项] 源文件 目录文件或目录
选项说明:
-b
为删除的文件建立备份
-d
允许root用户建立硬链接
-F
与b相同
-f
强行删除目标文件
-i
在删除文件时给出提示
-n
当目标文件是目录的符号链接时,替代该符号链接
-s
用符号链接代替硬链接(建立符号链接)
-v
输出被链接文件的文件名软链接也称符号链接,类似 Windows 中的快捷方式
主要存放了链接其他文件的路径,删除软连接的方式与删除文件相同
# 创建一个软连接 myroot,连接到 /root 目录
ln -s /root /myroot
# 删除软连接 myroot
rm /myroot
chmod
命令:修改文件权限基本语法:chmod [选项] 文件或目录名
选项说明:
u
文件所有者
g
文件所属组
o
其它用户
a
所有用户
+
增加权限
-
取消权限
=
赋给权限
r
读权限
w
写权限
x
执行权限
# 将 file1.txt 文件设为所有人皆可读写
chmod a+rw file1
# 将 file.py 设定为只有该档案拥有者可以执行
chmod u+x file.py
gcc
命令:编译基本语法:gcc [选项] 文件名
常用选项:
-v
查看gcc编译器的版本,显示gcc执行时的详细过程
-o
指定输出文件名为file,这个名称不能跟源文件名同名
-E
只预处理,不会编译、汇编、链接
-S
只编译,不会汇编、链接
-c
编译和汇编,不会链接
# 编译 hello.c 并指定输出文件为 hello
gcc hello.c -o hello
find
命令:查找文件基本语法:find 范围 方式 文件
# 根据文件名查找 home 下的 file.txt 文件
find /home -name file.txt
# 根据用户查找 home 下用户昵称为 DrangonOS 的文件
find /home -user DrangonOS
# 根据文件大小查找系统中大小为 200M 的文件
find / -size 200M
locate
命令:定位文件路径基本语法:locate 文件
locate 指令可以快速定位文件路径,利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位文件,无需遍历整个文件系统
但为了保证查询准确度,管理员须定期更新locate时刻
# 创建 locate 数据库,第一次使用 locate指令前必须先创建数据库
updatedb
# 定位 file.txt 文件的路径
locate file.txt
which
命令:定位指令路径基本语法:which 指令
# 检索 cp 指令所在路径
which cp
# 输出
alias cp='cp -i'
/usr/bin/cp
grep
命令:过滤查找(搜索字符串)基本语法:grep 查找内容 源文件
grep 命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息
# 查找 hello.txt 文件中 “yes” 所在行
grep "yes" hello.txt
# 查找 hello.txt 文件中 “yes” 所在行
cat hello.txt | grep "yes"
# 查找 hello.txt 文件中 “yes” 所在行并显示行号
cat hello.txt | grep -n "yes"
|
管道命令:将某命令的结果输出给另一命令
tar
命令:打包文件基本语法:tar [选项] 内容
选项说明:
-c
创建一个新的tar文件
-v
显示运作过程信息
-f
指定文件名称
-z
调用gzip压缩命令执行压缩;
-j
调用bzip2压缩命令执行压缩
-t
查看压缩文件内容
-x
解开tar文件
# 将 file.tar.gz 解压到当前目录
tar -zxvf a.tar.gz
# 将 /home 下的文件夹压缩为 file.tar.gz
tar -zcvf file.tar.gz /home/
# 将 file.tar.gz 解压到 /tmp 目录下
tar -zxvf file.tar.gz -c /tmp
tar 打包后的文件为 .tar.gz 文件
gzip
命令:压缩和解压缩文件基本语法:gzip [选项] 文件
选项说明:
-c
将输出写到标准输出上,并保留原有文件。
-d
将压缩文件解压。
-l
对每个压缩文件,显示下列字段:压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字
-r
递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t
测试,检查压缩文件是否完整。
-v
对每一个压缩和解压的文件,显示文件名和压缩比。
-num
用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比),系统缺省值为6
# 将usr.tar压缩为usr.tar.gz文件
gzip usr.tar
# file1.txt压缩为file1.txt.gz文件
gzip file1.txt
# 将压缩文件usr.tar解压,并列出详细的信息
gzip –dv usr.tar.gz
unzip
命令:压缩和解压缩文件(zip拓展)基本语法:unzip [选项] 文件名.zip
选项说明:
-x
文件列表 解压缩文件,但不包括指定的file文件。
-v
查看压缩文件目录,但不解压。
-t
测试文件有无损坏,但不解压。
-d
目录 把压缩文件解到指定目录下。
-z
只显示压缩文件的注解。
-n
不覆盖已经存在的文件。
-o
覆盖已存在的文件且不要求用户确认。
-j
不重建文档的目录结构,把所有文件解压到同一目录下
# 将压缩文件text.zip在当前目录下解压缩
uzip text.zip
vi 编辑器是 Linux 系统下的标准编辑器,vi 可以分为三种状态,分别是命令行模式、插入模式和底行模式,各模式的功能区分如下:
在使用时通常把 vi 简化成两个模式,将底行模式也算入命令行模式
启动 vi ,在系统提示符号输入 vi 及文件名称后,就进入 vi 全屏幕编辑画面,处于命令行模式,可移动光标、删除、移动、复制
i
当前光标前插入
a
当前光标后插入
o
当前光标所在行下插入空行
I
当前光标所在行上插入空行
A
插于行首
O
插于行尾
x
删除一个字符
dd
删除光标所在的行
切换到插入模式才能够输入文字,在命令行模式下按下字母 i 进入插入模式,进行字符的输入和文件的编辑
按
ESC
返回命令模式按
ESC
后输入“:”,进入底行模式
在命令行模式下,按一下冒号 :键进入底行模式
: w 文件名
将文件以指定文件名保存
: wq
输入wq,存盘并退出vi
: q!
输入q!,不存盘强制退出vi