Linux的常用命令
文件管理命令
i. ls 文件查看
ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件 ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。 ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。 "@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。 ls -s 在每个文件的后面打印出文件的大小。 size(大小) ls -r 对目录反向排序 ls -t 按时间进行文件的排序 Time(时间) ls -A 列出除了"."和".."以外的文件。 ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现 ls -L 列出文件的链接名。Link(链接) ls -S 以文件的大小进行排序 ls -Q 把输出的文件名用双引号括起来。 ls -m 横向输出文件名,并以“,”作分格符。 ls -d 将目录象文件一样显示,而不是显示其下的文件。 ls -1 一行只输出一个文件。 ls --color=no 不显示彩色文件名
ii. cd 进入目录
cd . 切换到当前目录
cd .. 返回到上级目录
cd - 返回到上次操作的目录
cd 切换到家目录
cd /home/ads_yx 切换到绝对路径
cd ~/aaaa 切换到相对路径
cd / 切换到根目录
iii. cp 复制文件夹/文件
cp -a 尽可能的将文件的属性、权限的内容都照原状复制 cp -b 如果目的文件存在,就创造一个备份 cp -r 若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录 cp -i 若目的地有重复的文件,询问是否覆盖 cp -f 若目的地有重复的文件,则覆盖原有文件 cp -L 复制符号链接,自动修改链接以保证链接有效
iv. scp 远程复制文件
把文件从远程主机copy到当前系统
scp yxtest.txt ads_yx@192.168.91.12:~/aaa/ 拷贝文件到远程 scp -r ddd ads_yx@192.168.91.131:~/aaa/ 拷贝目录到远程
把当前系统文件copy到远程主机
scp ads_yx@192.168.91.131:~/yxtest.txt ./ 远程拷贝文件到本地 scp -r ads_yx@192.168.91.131:~/ddd ./ 远程拷贝目录到本地
v. mv 移到文件/文件还有改名的功能
移动文件到某个目录下 mv -f 覆盖某个已有的目标文件时不给任何指示 更名文件 mv 旧文件名 新文件名
vi. rm 删除文件/文件夹
rm -f 就是force的意思,忽略不存在的文件,不会出现警告消息 rm -i 互动模式,在删除前会询问用户是否操作 rm -r 递归删除,最常用于目录删除,它是一个非常危险的参数 删除的文件非常难恢复,没有windows的回收站
vii. rmdir 删除文件夹
只能删空文件夹
rm -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
viii. pwd 列出当前目录
ix. mkdir 创建文件夹
mkdir -p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
x. cat 查看文件内容
查看文件的全部内容
cat 文件1 文件2 ... 后接文件名 cat 文件名|more 通常可用管道与more和less一起使用,从而可以一页页地查看数据 cat 文件名 > 新文件名 将内容输出到新文件
xi. more/less 分屏显示文件内容
more 可以按页来查看文件的内容,还支持直接跳转行等功能 .命令参数: +n 从笫n行开始显示 -n 定义屏幕大小为n行 +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 -c 从顶部清屏,然后显示 -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能 -l 忽略Ctrl+l(换页)字符 -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 -s 把连续的多个空行显示为一行 -u 把文件内容中的下画线去掉 .常用操作命令: Enter 向下n行,需要定义。默认为1行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
less 与 more 类似 .命令参数: -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -i 忽略搜索时的大小写 -m 显示类似more命令的百分比 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -s 显示连续空行为一行 -x <数字> 将“tab”键显示为规定的数字空格 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
xii. tail 动态查看文件内容(从文件尾部开始看)
tail -f 循环读取 tail -c<数目> 显示的字节数 tail -n<行数> 显示行数
xiii. head(从文件头部开始看)
head -c<字节> 显示字节数 head -n<行数> 显示的行数
xiv. ln 链接
链接分为两种: 硬链接(hard link)与软链接(symbolic link),无论是软链接还是硬链接,文件都保持同步变化,
软链接:ln –s 源文件 目标文件
1.软链接,只会生成一个文件的镜像,不会占用磁盘空间,类似快捷方式
2.软链接可以跨文件系统
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:ln 源文件 目标文件
1.硬链接,生成一个和源文件大小相同的副本文件,但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
4.硬链接不可以跨文件系统
常用参数:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
xv. du/df
查看文件和目录磁盘使用的空间
du -sh 当前目录的总大小 du -sh * 当前目录下每个文件/文件夹的大小 df -lh 查看磁盘使用情况
xvi. lsof
用于查看进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
lsof filename 显示打开指定文件的所有进程 lsof -c string 显示COMMAND列中包含指定字符的进程所有打 开的文件 lsof -u username 显示所属user进程打开的文件 lsof +d DIR/ 显示目录下被进程打开的文件 lsof +D DIR/ 但是会搜索目录下的所有目录,时间相对较长 lsof -i :80 查询指定端口打开的文件 lsof -p pid 查询指定的pid打开的文件
示例: [root@besttest lampp]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME /opt/lamp 2300 root 4u IPv6 22596 0t0 TCP *:http (LISTEN) /opt/lamp 2473 daemon 4u IPv6 22596 0t0 TCP *:http (LISTEN) /opt/lamp 2474 daemon 4u IPv6 22596 0t0 TCP *:http (LISTEN) /opt/lamp 2475 daemon 4u IPv6 22596 0t0 TCP *:http (LISTEN) /opt/lamp 2476 daemon 4u IPv6 22596 0t0 TCP *:http (LISTEN) /opt/lamp 2477 daemon 4u IPv6 22596 0t0 TCP *:http (LISTEN) [ads_yx@besttest ~]$ lsof|grep .yxtest.txt.swp vi 2535 ads_yx 4u REG 8,3 12288 141507 /home/ads_yx/.yxtest.txt.swp [root@besttest lampp]# netstat -nlpt|grep 80 tcp 0 0 :::80 :::* LISTEN 2300/httpd tcp 0 0 :::8080 :::* LISTEN 2243/java tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2243/java tcp 0 0 :::8009 :::* LISTEN 2243/jav
xvii. chmod
chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限
添加权限的两种方式:数字方式和文本方式
数字方式:
[n][n][n] r=4 w=2 x=1
rwx:4+2+1; r-x:4+1; rw-:4+2
示例:
chmod 755 yxtest.txt
文本方式:
u 该档案的拥有者;
g 与该档案的拥有者属于同一个群体(group)者;
o 其他以外的人;
a 所有
+ 增加权限
- 去掉权限
-R 递归,主要用于一个目录,把这个目录下所有的文件/文件夹赋权限
示例:
chmod -R a+x aaa
xviii. chgrp/chown
chgrp指令变更文件与目录所属群组
常用参数: -f 不显示错误信息 -R 处理指定目录以及其子目录下的所有文件 -v 运行时显示详细的处理信息 示例: chgrp -R 新所属组 test6
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID
常用参数: -f 忽略错误信息 -h 修复符号链接 -R 处理指定目录以及其子目录下的所有文件 示例: chown -R 新所属用户:新所属组 abc 同时变更拥有者和群组 chown ads_yx: 1.log 同时变更拥有者和群组 chown :testyx 2.log 只改变所属组群组
xix. wc
统计指定文件中的字节数、字数、行数,并将统计结果显示输出
常用参数: -c 统计字节数。 -l 统计行数。 -m 统计字符数。这个标志不能与 -c 标志一起使用。 -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。 -L 打印最长行的长度。 示例: wc -c testyx.txt 统计文件的行数、单词数、字节数
wc -l testyx.txt 统计文件的行数
下面命令可以分别计算当前目录下的文件和目录个数: ls -l * |grep "^-"|wc -l 统计当前目录下目录个数 ls -l * |grep "^d"|wc -l 统计当前目录下文件个数