20条Linux命令
ls : list的缩写 list directory contents
Usage: ls [OPTION]... [FILE]...
Options:
-a 列出指定目录下的所有文件包括. 和…, 以及以.开头的隐藏文件。
-A 同上,但是不包括. 和 …。
–full-time 列出详细的文件修改时间
类似于: ls -l --time-style=full-iso
-h human-readable 以人性化的方式显示文件的大小
同 -l 或者 -s 参数。
-t 按修改时间排序,最新的放在最前面。
-l 以行的形式展现 ls -l = ll
-r –reverse 依相反次序排列
-R –recursive 同时列出所有子目录层
-F 如果是目录则后面要跟上/。
命令的参数可以组合使用,也可以单独使用,配合其他命令能够更好地查看目录下的内容:
如: (1)只显示文件
ls -l | grep “^-”
(2)按时间排序,最新的放在最后
ls -ltr /home/edward
(3) 列出以t开头的文件或文件夹
ls -l t*
cd change directory 切换目录
cd 切换到家目录
cd ~ 切换到家目录
cd - 切换到上一次的目录,这个命令在两个路径没有太大的联系,路径名比较长的不方便切换的时候特别好用。比如当前你在/home/edward/Desktop/stage4/meminfo目录下,你需要到/dev/disk/by-id执行某些操作,而且需要在这两个路径之间反复切换,这时候这个命令就很好用,你只需要第一次使用绝对路径,之后使用cd - 就可以在这两个路径下反复切换。
cd …(两个点,不知道为什么这里显示的是三个点) 切换到上一级目录
cd path 切换到指定的目录path下,可以是绝对路径也可以是相对路径。
mkdir 创建指定名称目录
Usage: kdir [OPTION]... DIRECTORY...
Options:
-m 设置权限
-p parents 可以递归一次创建多级目录
-v verbose 每次创建都有提示信息
创建一个项目的组织结构的时候需要使用到-p参数:
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
rm 删除文件或者目录
-f force 强制删除,忽略不存在的文件,从不给出提示
-i interactive 交互式删除
-r, -R 递归删除
-v verbose 显示操作的详细信息。
删除前要确认目录。 不能随便执行的命令 rm * -rf。
rmdir 可以删除空目录,一个目录被删之前必须是空的。
创建文件 touch vim 重定向
touch 修改实现戳或者创建一个不存在的文件。
-t 使用指定的时间而非现在的时间
-m 只更改时间
vim 编辑文件并且创建文件, 只有最后保存了文件才创建成功。
重定向到目标文件,不存在就创建, 注意是覆盖(>)还是追加(>>)
mv move的缩写 用来移动文件(目录)或者重命名。
mv [选项] 源文件或目录 目标文件或目录
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
查看文件内容
cat 查看文件或者把几个文件的内容连在一起显示。
cat 的主要功能:
* 显示一个文件 cat filename
-n 显示行号
-b 对非空行显示行号
* cat > filename 创建新文件,并输入内容, ctrl+c 结束输入。
* cat file1 file2 file3 > filename 将多个文件合并成一个文件。
nl 命令也可以查看文本内容,不过它订制了行号的显示。
more 可以分页查看内容。
less less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
less 支持浏览多个文件 如 less filename1 filename2 filename3
输入 :n 表示查看下一个文件 next
:p 上一个文件 previous
head 和 tail命令
head 显示文件的前几行, 默认显示10行。
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数 如显示5行 -n 5
tail 用于显示文件末尾的内容。常用于查看日志,加-f 参数会不断刷新。看到最新的内容。
-f 循环读取
-n<行数> 显示行数
模拟循环读取:
ping 127.0.0.1 > log.txt &
tail -f log.txt 就可以看到更新的信息
查找文件locate
方法:建立一个档案名和路径的一个数据库,之后要寻找只需要查询这个数据库就可以。数据库一般在crontab中自动执行。新建的档案可能找不到,因为数据库一般是一周更新一次。
查找文件之find
find在目录结构中查找文件,并执行指定的操作。
Usage: find pathname -options [-print -exec -ok …]
-print 标准输出
-exec 执行shell 命令 , 格式为 comman { } \;
-ok 同-exec,只不过是以一种更安全的方式。
Options:
-name 按名字查找
-perm 按文件权限查找
-user 按所属用户查找
-group 按文件所属组查找
-mtime -n +n 按文件更改时间查找 -n 表示距现在n天内, +n表示 n天之前
-size 按大小查找
-type 按类型查找
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-exec 执行后续操作
comman { } \;
{} find查找的文件名。以分号结束,必不可少。
eg: 查找当前目录下1.txt并显示详细信息
find . -name 1.txt -exec ls -l {} \ ;
tar打包命令
作用:打包和压缩
Usage: tar [必要参数] [选择参数] [文件]
-c 建立新的压缩文件
-r 添加文件到已经压缩的文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-v 显示操作过程
-f 指定压缩文件
打包文件 tar -cvf name.tar file1 file2
解包 tar -xvf name.tar
打包后以gzip压缩 tar -czvf name.tar.gz file1 file2
解压缩 tar -zxvf name.tar.gz
查看压缩内容 tar -ztvf name.tar.gz
打包后以bzip2压缩 tar -jcvf name.tar.bz2 file1 file2
解压 tar -jxvf name.tar.bz2
查看压缩内容 tar -jtvf name.tar.bz2
chmod修改权限
修改对文件或者目录的访问权限
(1)文字设定法
u 表示用户
g 表示所属组
o 表示其他人
a 包含前三种
r 可读 w 可写 x 可执行
Usage: chmod [who] [+ | - | =] mode filename
Eg: chmod a+x filename 给所有人文件的可执行权限
(2)数字设定法
r=4 w=2 x=1
Eg: 给所有者和所属组可读可写可执行的权限,其他人没有权限
chmod 770 filename
chgrp修改文件的所属
chgrp [选项] [组] [文件]
-R 递归目录
-v 显示详细信息
查看磁盘的大小
df 查看磁盘使用情况
du 查看指定文件或目录的磁盘占用情况
-h human-readable
top 实时显示各进程占用系统资源的情况
scp :secure copy 远程拷贝文件
从本地复制到远程服务器:
scp local_file remote_user@remote_ip:remote_floder
从远程拷贝到本地:
scp remote_user@remote_ip:source_path local_path
如果是远程拷贝目录的话需要加-r 参数
ln链接命令
分为软链接和硬链接
软链接: ln -s file linkfile
硬链接 ln file linkfile
ifconfig 显示网络接口的配置信息。
ps process status 显示当前运行的进程的状态信息。
常用参数
-e 显示所有进程
-aux 显示所有包含其他使用者的行程
grep 筛选文件内容
-i 忽略大小写
-v 取反
-n 显示行号
后台执行命令
1、脱离终端的方式在后台运行这个shell命令。
nohup shell-command &
2、命令之后直接加&