Linux常用命令

Linux 文件与目录管理

ls只列出文件名或目录名,就象windows里的列表

ll列出来的结果详细,有时间,是否可读写等信息 ,像windows里的详细信息,“ll”是“ls -l"的别名

使用ll 或者 ls -l 显示文件的属性 和文件所属用户和组
drwx------. 5 root root   4096 Oct 18 10:02 .
drwxr-xr-x. 6 root root   65 Jun  7  2016 ..
-rw-------  1 root root  18377 Oct 18 10:18 .bash_history
-rw-r--r--. 1 root root   18 Jul  8  2015 .bash_logout

第一个字母表示文件类型,
”-”,普通文件.
”d”目录,字母”d”,是dirtectory(目录)的缩写.
“l”符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息.
“b”块设备文件。
“c”字符设备文件。

rwx r-x r-x
三个一组分别是所有者权限、所有组权限、其他用户权限

mkdir 创建文件夹
mkdir -p xx/xxx 递归创建文件夹(xx不存在会创建) 
mkdir -m 711 xxx 创建文件并自定义权限
mkdir xx 不可以递归创建不存在的目录

rmdir 删除空目录(如果目录不为空会报错)
rmdir -p xx/xx 递归删除空目录  先删除 xxx 再删除xx 如果 存在目录不为空 会报错

一般删除文件夹用rm -rf 文件夹

rm 永久删除目录和文件
-f 强制删除 删除时不询问
-i 删除时询问
-r 递归删除,主要用于删除目录

touch 创建文件,如果文件存在将会修改文件的时间参数
每个文件有三个时间参数
访问时间 atime
数据修改时间 mtime
状态修改时间 ctime

cp 复制文件和目录

cp 源文件 目标目录 把源文件
cp test xx/ll 复制test文件并改名为ll
cp test xx/ 复制到xx目录下
cp -r xx/sss/pp/ /tep/ 按层级复制
cp -d  复制软连接文件
cp -a

mv 移动文件和目录 对文件和目录进行改名
如果源文件和目标文件在同一个目录则 为改名

tar 打包

-c 将多个文件或目录打包
-v  显示打包文件过程
-f 包名  指定包名 要加上扩展名
tar -cvf test.tar test/  #将test目录下的文件打包成test.tar 包名

-x
-f 指定要解压的tar包名
-v 显示解打包的过程
-C 解打包到指定目录
tar -xvf test.tar  解test.war 包到当前目录
tar -xvf test.tar -C temp/ 解test.war 包到temp目录下

-z 压缩和解压缩的 '.tar.gz' -j 压缩和解压缩的 '.tar.bz2'

tar -zcvf test.tar.gz temp/ 将temp目录下的文件打包压缩到test.tar.gz格式 tar -zxvf test.tar.gz -C temp/ 将压缩包解压到 temp 目录下

 

zip 压缩命令

zip test.zip test 将test 压缩到test.zip 中
-r 递归压缩 文件和目录都压缩
-m 压缩后删除原文件

unzip 解压缩zip文件
unzip test.zip
unzip -d temp/ test.zip 将test.zip解压缩到temp目录下

gzip 只可以压缩文件不可以压缩目录,压缩文件后缀为.gz
gzip test.log 压缩test.log 文件 压缩后只保留压缩文件不保留源文件
gzip -c test.log>test.log.gz
gzip -d 压缩包  解压缩命令

gunzip 通用解压缩命令
zcat 纯文本文件 在不解压的情况下 查看文本

bzip2 压缩或解压缩文件格式为".bz2" 用法同gzip

vim 编辑文件三种模式  vim filename
命令模式
输入模式
编辑模式
vim test 进入命令模式,输入i,a,o 进入输入模式,按Esc键,回到命令模式
vim test 进入命令模式,输入":" 进入编辑模式 按回车键结束

退出
:wq 末行模式,保存退出
:q 末行模式,直接退出
:q! 末行模式,不保存,强制退出

命令行模式下
:set nu #显示行号,在命令模式下输入后会在文本中每一行的开头标出行号。
字符的替换(命令行模式)
:%s/源字符/替换后字符     #每一行出现的第一个关键字
:%s/源字符/替换后字符/g    #全文替换,s所有行,g表示所有列
:3,5s/源字符/替换后字符/g  #替换第三行到第五行的关键字

光标的移动
:数字      #光标移动到指定的行
gg       #光标移动到第一行
<HOME>     #光标移动到行首
<END>     #光标移动到行尾
G        #光标移动到最后一行行首
shift + 0  #光标移到最后一行行尾

cat more tail head  查看命令
cat 文件名       #查看文件
cat -n 文件名     #查看文件,显示行号
cat 1.txt 2.txt >3.txt #将两个文件合并输出到 第三个文件中
more    #分页显示文本内容,只能向后翻看
more 文件名
more -10 -c 文件名  #以清屏方式 每次显示10行
head 文件  #显示文件的开头十行
head -n 20 文件 #显示头20行
less   #查看,向前也可以向后翻看
tail   #显示文件末尾内容
tail -n 10 文件名  #显示文件最后十行
tail -f 文件   #监听文件新增内容 ctrl+c #终止tail 命令

grep 全面搜索正则表达式并把行打印出来

-c 输出匹配行的计数
-I 不区分大小写(只适用于单字符)
-n : 顺便输出行号
-v : 反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
--color=auto :可以将找到的关键词部分加上颜色的显示

根据文件内容递归查找目录
grep 'test' 文件名     #在文件内搜索带‘test’的行
grep 'test' *        #在当前目录搜索带'test'行的文件 注意有字符串后面跟着*号
grep -r 'test' *      #在当前目录及其子目录下搜索'test'行的文件
grep -l -r 'test' *    #在当前目录及其子目录下搜索'test'行的文件,但是不显示匹配的行,只显示匹配的文件

 

find 查找文件或文件夹
find 目录 类型 -name
find /目录  -type d -name 文件夹名  #按照类型查找文件夹
find /temp -type f -name 文件名   #按照类型查找文件
find /temp -size +20M(-20M)     #查找大于20M(小于20M)

sed 命令是利用脚本来处理文本文件

sed 's/Jack/Mark/' fin.txt   #把每一行中第一个Jack替换成 Mark,sed 命令一般是写在单引号内,引号内开头的s表示替换(substitute)
sed 's/Jack/Mark/g' fin.txt   #替换每一行中所有匹配到的字符串,需加在命令末尾上选项g
:上面的命令并不会修改文件fin.txt的内容,只是将文件中的每一行读入缓存,执行替换,然后输出到屏幕,文件内容并没有发生改变。如果希望直接修改文件内容,可加上选项“-i”
sed -i 's/Jack/Mark/g' fin.txt   #直接修改文件,将每行所有的Jack都替换成Mark
sed '2,3s/hello/hey/g' fin.txt   #将2~3行中所有的hello替换成hey,
sed '2,3d' fin.txt      #删除2~3行
sed '/Pony/d' fin.txt    #删除包含字符串 Pony 的行
sed -i '2iwelcome' fin.txt   #2表示第二行,i表示在这一行前面添加一行,如果要在第二行后面添加一行,则用字母 a
sed -i '/Pony/awelcome' fin.txt    #在匹配行的前面或者后面添加一行
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`    #要将目录/modules下面所有文件中的zhangsan都修改成lisi
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名


chown 某用户 文件名 #将文件所有者改为某用户

(改后可对文件有写权限)将文件的用有者改为指定的用户或用户组 普通用户不能将自己的文件改变为其他拥有者,一般是root用户操作

普通用户只可以修改所有者是自己的文件权限。

root可以修改所有文件的权限

chmod  对文件设置权限

文件权限:r(读),w(写),x(可执行)
r 4
w 2
x 1

a:all--所有用户
u:user----文件拥有着
g:group----与user同属一个group的其他user
o:other-----其他group的user

chmod -R 权限值 文件名
-R连同子目录
chmod 761 文件  u的权限是4+2+1,g的权限是4+2,o的权限是1
chmod g+w 1.txt 增加文件所属组的写权限
chmod o-r 1.txt 删除文件其他用户的读权限
chmod u=rwx,g=rw,o=- 1.txt 修改文件权限为u=rwx,g=rw,o=-

ps -ef|grep 'ssh' 查找特定进程
ps -aux 列出目前正在内存中的所有程序
kill -9 [pid] 强制终止进程

netstat 查看端口占用

netstat -tunlp 是查看所有的在使用的端口号情况

netstat -tunlp | grep 端口号 是查看所查询的端口号情况

ln 源文件 目标文件 创建硬连接 (不常用,限制较多,不可以给目录创建硬连接,不可以跨区,目标文件 和源文件inode号一样)
ln -s 源文件 目标文件 创建软连接(常用,目标文件 和源文件inode号不一样)

top 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

原文地址:https://www.cnblogs.com/qqxin/p/11720817.html