一:创建文件的几种方式
1 vi命令:查看编辑文本,如果文本不存在,就创建。
首先我们进入文件后是处于命令模式下,无法进行编辑和搜索。
如果我们需要进行编辑,你需要使用i切换到编辑模式,编辑完成之后,如果你想保存 退出,需要使用esc退出编辑模式,如果是退出保存按住:wq,如果是退出不保存::q!.
如果文件太大需要进行搜索,在命令模式下使用/进行切换到搜索模式,你紧接着输入的单词,会进行精确匹配。如果希望继续往下找,按n键,如果是网上找按?键。
如果希望在打开文件的同时希望找到某个匹配的字符串可用命令:
二:touch命令 改变文件或目录时间
如果没有该文件就创建。
-c 命令,假设目的文件不存在,就不创建这个文件。
-t 设定文件时间记录,格式与date指令相同。
Touch –c –t 10112205 /etc/passwd.
三: mv命令:移动文件或者为文件改名
文件改名: mv Pattern.txt pattern.bak
移动文件到某个目录:mv pattern.bak nicky_temp/
如果没有就创建这个文件
移动多个文件到目录下:
Mv file1 file2 file3 dir
一些参数选项:
-i :如该文件已存在,会询问用户是否覆盖。
-f :不管该文件在某目录下是否存在,都进行强制移动,以前存在的进行覆盖。
四:Cp命令:复制文件或者目录,如果不存在就进行新建
Cp [-options] 源文件夹/源文件 目标文件夹/目标文件
-a 一般用于copy目录,并递归copy。
-d copy时候保留连接
-f 删除存在的目标文件而不提示用户
-I 询问用户是否删除存在的文件
-p 除了copy内容外,还要copy修改时间和权限。
-r 递归copy
Cp * dir复制所有文件到某目录下。
Rm删除文件 rm [-options] 文件
-I 进行交互式删除
-r 进行强制删除
-f 忽略不存在的文件,也不给出提示
Find 命令:用于文件查找
一般格式如下:
find [path] [params] [exp]
常用参数:
-user :根据文件所有者查找文件
-group :根据文件所属组寻找文件
-name : 根据文件名寻找文件
-perm :根据文件权限寻找文件
-size:根据文件大小寻找文件
-type:根据文件类型寻找文件。
b:块设备文档
d:目录
c:字符设备文档
P:管道文档
l:符号链接文档
f:普通文档
-exec:对匹配的文档执行所给的shell命令。形式为:command { } \;注意{ }和\;之间的空格
-ok:和-exec作用相同。只但是以一种更安全的模式执行该参数所给的shell命令。在执行每个命令之前,都会给出提示,让用户确定是否执行
-mtime -n +n 按文档更改时间来查找文档,-n指n天以内,+n指n天以前
-print:将匹配的文档输出到标准输出
find /home -mtime -5 查找home目录下最近5天update过的文件
find -name gc* -o -name mf* 查找以gc或mf开头的文档
cat 命令:查看文件的命令只能进行查看,不能修改。还经常用于管道命令。
-n :对输出的行数进行编号
-b :也对输出的行数进行编号,但是空行除外
cat -b sort1.txt sort2.txt >> sort3.txt
查看sort1.txt sort2.txt并重定向输出流到sort3.txt文件
cat /dev/null > /tmp/sort3.txt
类似把sort3.txt扔进回收站
PS 命令:(用来显示当前进程的状态)
命令参数:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
显示指定用户信息:
ps -u root
显示所有进程信息:
ps -ef
ps 与grep 常用组合用法,查找特定进程
ps -l
将目前属于您自己这次登入的 PID 与相关信息列示出来
各相关信息的意义:
F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
UID 程序被该 UID 所拥有
PID 就是这个程序的 ID !
PPID 则是其上级父程序的ID
C CPU 使用的资源百分比
PRI 这个是 Priority (优先执行序) 的缩写,详细后面介绍
NI 这个是 Nice 值,在下一小节我们会持续介绍
ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 所下达的指令为何
在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID 而已,所以, 当我使用 ps -l 的时候,只有三个 PID。
列出目前所有的正在内存当中的程序:
ps -aux
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
模糊查找pid:
找出与 cron 与 syslog 这两个服务有关的 PID 号码
ps aux | egrep '(cron|syslog)'
把所有进程显示出来,并输出到x.txt文件
ps aux > x.txt
输出指定的字段:
ps -o pid,ppid,pgrp,session,tpgid,comm