文件和目录
cat 连接文件并打印到标准输出设备上
cat [-AbeEnstTuv] [--help] [--version] fileName
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-e : 等价于 -vE。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
head -num
显示文件前num行
tail
-num:显示文件后num行
-n: 后面接数字,代表显示几行的意思
-f: 表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
less 随意浏览文件
less [参数] 文件
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
more 以一页一页的形式显示文本内容
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
cd:进入一个目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd,cd ~进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ll: 列出某个目录下面所有文件的信息,权限,时间等信息 ,包括隐藏的文件,而ls -l只列出显式文件,
ls:列出某个目录下面所有文件的信息
ls [options] 目录/文件
列出某个指定的目录或文件的信息
ls 目录 : 列出目录下面的文件的信息
ls 普通文件: 列出此普通文件的信息
options :
-l 显示文件和目录的详细资料
-a 列出所有文件,包括隐藏文件
ls -F 查看目录中的文件
ls *[0-9]* 显示包含数字的文件名和目录名
ls -al :把当前目录下面所有的文件的详细信息列出来
chmod:改变文件权限
chmod [ugoa] +/- [rwx] 文件名
u: user 用户
g: group 组用户
o: other 其它用户
a: all ugo
eg: chmod u+x *.sh
chmod 664 文件名
"664": 表示文件权限的八进制数
110 110 100 => rw- rw- r--
- rwx rwx rwx: 这有10个字符,表示文件类型和文件的权限
文件类型:第一个字符表示文件类型
-: 普通文件,ASCII文本文件,二进制文件
d: directory 目录
b: block 块设备文件
c: char 字符设备文件
l: link 链接文件
p: pipe 管道文件
s: socket 套接字文件
文件权限:
r: read 是否可读
w: write 是否可写
x: eXcute是否可执行(对于目录而言,可执行表示你可以进入这个目录)
文件这三种权限又分为三组:
user: 文件对于用户(属主用户)的权限
group: 文件对于组用户的权限
other: 文件对于其他用户的权限
rwx rw- rw-
user group other
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir: make directory 创建一个目录
mkdir /home/gec/2
在/home/gec这个目录下面创建一个目录2
-p 把父目录(以及父目录的父目录,...)一并创建
mkdir -p /tmp/dir1/dir2 创建一个目录树
rmdir: 删除空目录
rm :remove删除的意思
rm [options] 要删除的文件或目录
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
eg: rm -rf 文件、文件夹名
mv : move移动
mv SOURCE DEST
SOURCE DEST
目录 目录
文件 目录
目录 文件 ERROR不可以
文件 文件 rename 改名
eg: mv ly/mango xtm/orange
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
cp:文件或目录拷贝命令
cp [options] SOURCE(源文件) DEST(目标文件)
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
ln:创建链接
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
touch 修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。
find:查找文件
find path -option [-print] [-exec -ok command] {} \;
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN: 0px">
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录
tar:文件压缩、归档
tar [options] tarfile src_files_list
-c: create 创建一个归档文件
-f: file 指定归档文件名字
-z: 用gzip的算法去压缩(或解压缩)
-j: 用bzip2的算法去压缩(或解压缩)
-v: 显示归档或释放过程的信息
-x: extract 释放一个归档文件
eg: .tar -> tar -xvf .tar.gz->tar -xzvf .zip->unzip glassfish4.zip
vi/vim编译器
vi/vim是unix/linux下面最基本、最常用、功能最强大的文本编辑器。
vi/vim的工作原理:两种模式,输入模式,命令模式
输入模式:INSERT 键盘上所有的输入字符都当成文本内容输入。
命令模式:CMD 键盘上所有的输入字符都当作是命令。
命令模式->输入模式:
I: insert 进入输入模式后,光标在当前行的行首
i: insett 进入输入模式后,光标在当前位置
O: open 开路,在光标前面新开一行
o: open 开路,在光标后面新开一行
a: append 进入输入模式后,光标在当前字符的下一个
A: append进入输入模式后,光标在当前行的行末
输入模式->命令模式:
ESC键
vi/vim退出命令
:q 不保存退出
quit 如果文件内容没有被修改,就可以用q
:q! 强制退出
quit 如果文件内容被修改,则不保存退出(无论如何,我都要退出)
:w 保存文件(但不退出)
write
:w filename
把当前缓冲区的内容保存到文件filename中去
:wq 保存并退出
write and quit
:x <=> :wq
vi/vim删除与修改命令
x 删除光标所在的一个字符
dd delele 删除光标所在的行
ndd n表示一个数字,多少行,删除光标及以下n行
r (replace,替换)用后面输入的那个字符替换
R (REPLACE,替换)用后面输入的一串字符(按ESC表示串结束)替换光标及后面n个字符
vi/vim撤销命令
u: undo 撤销上一次操作
U:
vi/vim拷贝与粘贴命令
dd 剪切
yy: yank?? 将当前行的内容拷入到剪贴板
nyy 将光标及以下n行的内容拷入到剪贴板中
p: paste/print 将剪贴板中的内容贴在光标所在行的后面
P: Paste 将剪贴板中的内容贴在光标所在行的前面
vi/vim搜索命令
:5
跳到第5行
: $
跳到最后一行
/main
搜索文本中main这个字符串
n :next 下一个
N: 反向(向上)搜索 上一个
进程管理
进程:程序运行时候,就是一个进程
每个进程都有一个进程ID(PID)
ps: proces status
ps [options] [--help]
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
-e : every
-f: full
ps -ef
把系统的每一个(-e every)进程的全部(-f full)信息都列出来
top :
把系统内的进程的实时信息(CPU占用率,内存的使用率等)列出来
kill:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
-l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
-s <信息名称或编号> 指定要送出的信息。
[程序] 可以是程序的PID或是PGID,也可以是工作编号。
kill -9 PID
杀死进程呈为PID的那个进程
pstree 查看进程树
clear 清除屏幕