基本命令
1.1 ls 列出文件
-a 列出隐藏文件,文件中以“.”开头的均为隐藏文件,如:~/.bashrc
-l 列出文件的详细信息
-R 连同子目录中的内容一起列出
用ls -l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文 件类型,它可以是下述类型之一:
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
s socket文件,网络套接字
p 管道
后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权 限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示 对文件的读、写和执行权限。各权限如下所示:
r读
w写
x 可执行。对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
t 设置标志位(sticky bit)。如果是有sticky bit的目录,在该目录下任何用户只要有适当的权限即可创建文 件,但文件只能被超级用户、目录拥有者或文件属主删除。如果是有sticky bit的可执行文件,在该文件执行后, 指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
- 没有相应位置的权限。
1.2 cd
change dir 改变当前所在路径
cd ~ //进入用户目录
cd / //进入根目录
1.3 which
查看指定命令所在路径
which cd
which ls
1.4 pwd
显示当前目录
1.5 mkdir
创建目录
mkdir -p a/b/c //-p表示循环创建 连同子目录一同创建
1.6 rmdir
删除目录
删除空目录,可以一次删除多个。OPTION如果是-p,表示可以连同空的父目录一起删 除。mkdir和rmdir的用法举例:
rm -p a/b
1.7 touch
touch [OPTION]… FILE…
* 将每个文件的访问及修改时间都更新为目前的时间。
* 如果文件不存在,则创建一个字节数为0的文件。
1.8 rm
删除文件
rm a.txt //删除文件
rm -rf a //删除目录
1.9 mv
重命名: mv file1 file2
移动文件: mv file1 ~/
1.10 cp
拷贝文件:
cp file1 file2
cp file1 dir/
cp file1 ../
拷贝目录:
cp dir1 dir2 -r
cp dir1 ~/ -r
拷贝文件夹时,要加参数 -ap
cp -ap /data_1 /tmp_1/
\cp a.txt ../ap_1/a.txt //使用\强制复制文件, 不提示是否覆盖已存在的同名文件
当mv时 也可以用\ 强制移动文件 不提示是否覆盖
/bin/cp a.txt ../ap_1/a.txt 使用全路径 同样可以强制拷贝 不提示
1.11 cat
查看文件里内容,输出到终端,如果cat时没跟文件名,则读标准输入,遇到\n后,输 出到标准输出,终端下输入Ctrl-d表示结束
1.12 more
more [OPTION] FILE…
查看文本文件的内容,屏幕显示完一屏就等待用户按下任意键再滚动到下一屏,如果中 途不想继续看下去了,可以按Ctrl+C或q终止显示。
1.13 less
ess [OPTION] FILE…
查看文本文件的内容,屏幕显示完一屏就等待用户按键,用户可以向上或向下查看,如 果中途不想继续看下去了,可以按Ctrl+C或q终止显示。
1.14 head
head [OPTION]… FILE…
显示指定文件的前面几行。如果没有指定文件,将从标准输入(键盘)上读取。如果没 有指定要显示的行数,则默认显示前10行。如果要显示文件的前5行:
$ head -5 file1
1.15 tail
tail [OPTION]… FILE…
显示文件的最后几行。若没有指定显示的行或字符数,则默认显示末尾10行。如果要显 示文件末5行:
$ tail -5 file1
1.16 ln
链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立 指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。如果 给ln命令加上-s选项,则建立符号链接。举例如下,注意ls -l列出文件的硬链接数和字节 数:
touch hello
ln hello word_h //硬链接
ln -s hello word_s//软链接
1.17 tree
按结构树的形状显示目录和文件
1.18 wc
利用 wc 指令我们可以计算文件的 Byte 数、字数、或是列数,若不指定文件名称、或 是所给予的文件名为“-”,则 wc 指令会从标准输入设备读取数据。
wc -l ./*
-c 或–bytes 或–chars 只显示 Bytes 数。
-l 或–lines 只显示列数。
-w 或–words 只显示字数。
1.19 du
查看某个目录的大小: 以M为单位
1.20 whoami
查看当前登陆用户
1.21 chmod
* 文字设定法
chmod [who] [+|-|=] [mode] 文件名
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
* 数字设定法
chmod [mode] 文件名
我们必须首先了解用数字表示的属性的含义:
0表示没有权限,
1表示可执行权限,
2表示可写权限,
4表示可读权限,
1.22 chown
chown [OPTION]… [OWNER:GROUP] FILE…
chown [OPTION]… –reference=RFILE FILE…
更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户A, 为了让用户A能够存取这个文件,root用户应该把这个文件的属主设为A, 否则,用户A无法存取这个文件。
OPTION的主要参数:
* -R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
* -v 显示chown命令所做的工作。
比如把一个文件改为test用户和nogroup用户组所有
$ sudo chown test:nogroup file1
注意:
*chown需要特权用户才能执行
* 一个文件的owner和owning group是没有关联的。一个文件属于用户A,也属于用户组B,并不表示用户A属于用户组B
查找和检索
2.1 find
根据文件名查找
find [OPTION] path… [expression]
在目录中搜索文件,path指定目录路径,系统从这里开始沿着目录树向下查找文件。它
是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。Expression 是 find命令接受的表达式,find命令的所有操作都是针对表达式的。
find.?name‘file?′ find / -name ‘vimrc’
$ find ~ -name ‘*.c’
2.2 grep
根据内容检索
grep [options] PATTERN [FILE…]
在指定文件中搜索特定的内容,并将含有这些内容的行输出到标准输出。若不指定文件名,则从标准输入读取。
[options]部分包含的主要参数:
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-R: 连同子目录中所有文件一起查找。
安装和卸载软件
更新源服务器列表
sudo vi /etc/apt/sources.list
更新完服务器列表后需要更新下源
sudo apt-get update 更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
源码安装
1. 解压缩源代码包
2. cd dir
3. ./configure 检测文件是否缺失,创建Makefile,检测编译环境
4. make
编译源码,生成库和可执行程序
5. sudo make install 把库和可执行程序,安装到系统路径下
压缩包管理
tar
tar [主选项+辅选项] 文件或者目录
tar可以为文件和目录创建档案。利用tar命令用户可以为某一特定文件创建档案(备份 文件),也可以在档案中改变文件,或者向档案中加入新的文件。使用该命令时,主选项是 必须要有的,辅选项是辅助使用的,可以选用。
主选项包括:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最 后。
x 从档案文件中释放文件。(常用)
辅选项包括:
f 使用档案文件或设备,这个选项通常是必选的。(常用) k 保存已经存在的文件。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。(常用) w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压 缩。(常用)
*进程管理