文件操作
文件显示
cat
一次显示整个文件内容
cat [选项] 文件名
-b 对非空输出行编号
-n 对所有输出行编号
连接多个文件
cat file1 file2 > file //将file1,file2合并放入文件file中
more
相较于cat,more分屏显示内容,每次只显示一页
more [选项] 文件名
+n 从笫 n 行开始显示
-n 定义屏幕大小为n行
操作命令
space, 显示下一页
enter, 显示下一行
B ,返回上一页 Q , 退出
less
less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
less [选项] 文件名
-N 显示每行的行号
操作命令
pageup , 向上翻动一页
pagedown , 向下翻动一页
↑
\uparrow
↑ , 向上翻动一行
↓
\downarrow
↓ , 向下翻动一行
q , 退 出
head
显示文件开头若干行,默认为10行
head [选项] 文件名
-n N 显示前N行
-c N 显示前N个字节
tail
显示文件末尾若干行,默认为10行
tail [选项] 文件名
-n N 显示末尾N行
-c N 显示末尾N个字节
查找比较
find
用于在文件树中查找文件,并作出相应的处理。
find pathname [选项] [-print -exec...]
-name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件
pathname: find命令所查找的目录路径。例如用 . 来表示当前目录,用 / 来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格。
如:查找当前目录.c文件
grep
文本搜索命令,搜索的结果被送到标准输出,不影响原文件内容。
grep [选项] 模式匹配串 文件名
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹
-v 显示不包含匹配文本的所有行
如: 找文件名中包含test 的文件中不包含test 的行
grep -v test *test*
显示taile结尾的内容行
grep 'tail$' test.txt
显示所有包含每行字符串至少有5个连续小写字符的字符串的行
grep '[a-z]\{5,\}' test.txt
复制,删除,移动
cp
将源文件或目录复制到目标文件或目录中
cp [选项] 源文件或目录 目标文件或目录
-f 覆盖已经存在的目标文件
-i 在覆盖目标文件之前给出提示
-r:若源文件是一个目录文件,将复制该目录下所有的子目录和文件
例:将文件myfile复制至根目录下/home/mengqc下,并改名为newfile
cp myfile /home/mengqc/newfile
将/home/mengqc下所有文件及其子目录复制到目录/home/liu
cp -r /home/mengqc /home/liu
rm
删除一个或多个文件(默认情况下不能删除目录,除非增加选项)
rm [选项] 文件1 文件2 ...
-f 忽略不存在的文件
-r 递归删除指定目录和各级子目录及其中文件
-i 删除前逐一确定是否删除
mv
对文件或目录重命名,或将文件移动到另一个目录中
rm [选项] 源文件或目录名 目标文件或目录名
-i 文件同名,提示是否覆盖
- 当目标文件是目录文件的路径,源文件会移动到此目录
- 当目标文件不是目录文件,源文件名会变为目标文件名,并覆盖已存在的同名文件
例:将文件ex1改为new1
mv ex1 new1
将目录/home/ts所有文件移动到当前目录("."表示当前目录)
mv /home/ts
目录操作
创建删除目录
mkdir
mkdir [选项] dirname
-m 设置新建目录存取权限,(8进制表示)
-p 可一次建立多个子目录
例: 在 /home/ts下建立子目录wfk, 只有文件主可读, 写, 执行
mkdir -m 700 /home/ts/wfk
在当前目录建立test和test下的test1
mkdir -p test/test1
rmdir
删除指定目录(空目录),非空则命令失败
mkdir [选项] dirname
-p 递归删除目录dirname,当子目录删除后父目录为空,也一并删除。如果非空,则保留
改变工作目录和显示目录内容
cd
切换当前目录至 dirName
cd [目录名]
进入根目录
cd /
进入 “home” 目录
如果是root用户,cd ~ 相当于 cd /root 如果是普通用户,cd ~ 相当于cd /home/当前用户名
cd ~
返回上级目录
cd ..
pwd
查看当前工作目录路径
pwd
ls
查看文件信息,或者文件
ls [选项] 目录或文件名
-l 列出文件的具体信息
-a 列出目录下的一切`在这里插入代码片`文件,包含以 . 最初的隐含文件
-R 递归列出所有子目录
total后面的数字是指当前目录下所有文件所占用的空间总和
之后的字段依次表示
文件属性 文件硬链接数 拥有者 所属的group 文件大小 建立日期 文件名
改变文件或目录存取权限
每一文件或目录的访问权限都有三组,每组用r,w,x三位表示,按顺序分别为文件属主的读、写和执行权限,与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限
chmod
chmod [操作对象] [权限修改] 文件名
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
chmod a-x text
chmod go-w text
chmod g+w text
chmod 777 text
chmod 644 text
改变用户组和文件主
chgrp
chgrp [选项] 组名 文件名
-R 递归地改变指定定目录下所有子目录和文件的用户组
例:将/home/ts及其子目录下的所有文件用户组改为lj
chgrp -R lj /home/ts
chown
chown [选项] 文件主名 文件名
-R 递归地改变指定定目录下所有子目录和文件的文件主
进程管理
ps
显示当前进程的状态
ps [选项]
a 显示所有用户的所有进程(包括其它用户)
u 按用户名和启动时间的顺序来显示进程
-f 显示进程的所有信息
-e 显示所有进程的信息
x 显示非控制终端上的进程信息
r 显示当前终端运行的进程
常用指令:
显示所有进程
ps aux
查找指定进程的所有信息
ps -ef | grep 进程关键字
kill
kill[参数][进程号]
常用命令: 强制终止某一进程
kill -9 进程号
使用ps查找进程p1,然后用kill杀掉
kill -9 $(ps -ef | grep p1)
文件压缩解压
tar
常用tar进行打包,再调用其他命令进行压缩和解压
tar -cvf test.tar /etc/test
tar -xvf test.tar
tar -rvf test.tar /etc/test1
tar -tvf test.tar
-c 创建新的文档。
-v 显示详细的tar处理的文件信息
-f 要操作的文件名
-r 表示增加文件,把要增加的文件追加在压缩文件的末尾
-x 解压文件
-t 表示查看文件,查看文件中的文件内容
tar -czvf sysconfig.tar.gz /etc/sysconfig/
tar -xzvf sysconfig.tar.gz
-z 调用gzip程序来压缩文件,压缩后的文件名称以.gz结尾。
其他
su,sudo
su : 切换到某用户,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
su [用户名]
sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制
sudo
date
显示或设定系统的日期与时间。
cal
显示公元1~9999的某一年或某一月的日历
(只有一个参数则表示为年份,无参数则显示当前月份日历)
cal 月份 年份
man
查找某一命令的具体说明和用法
man 命令名
passwd
修改用户密码,按提示重复输入新密码即可修改
passwd [用户名]
|