面试题-Linux-001-常用命令
1、linux常用命令有哪些?
http://www.runoob.com/linux/linux-file-content-manage.html
1)列出目录:ls
https://www.cnblogs.com/aijianshi/p/5756346.html
ls [-aAdfFhilnrRSt] 目录名称
常用命令参数:
-a : 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来。
-l : 长数据串列出,包含文件的属性与权限等等数据。
-t : 按最后修改时间排序。
-S : 按文件大小排序。(必需大写)
-r : 排序时按倒序。
-h : 显示文件大小时增加可读性(例:1K 234M 2G)
例:ls -al # 显示当前目录下的所有文件夹和文件(含属性与隐藏文档)。
ls -F|grep /$ # 显示当前目录下的子文件夹。
ls -l|grep "^d" # 显示当前目录下的子文件夹及属性、权限等数据。
ls -l *|grep "^-" # 显示当前目录及其子目录下的文件及属性、权限等数据。
ls -l |grep "^d"|wc -l # 统计当前目录下的文件夹数目
s -l *|grep "^-"|wc -l # 统计当前目录及其子目录下的文件数目
2)切换目录:cd
cd [相对路径或绝对路径]
例:cd /home/opt # 通过绝对路径,进入 /home/opt 目录
cd ./myFiles # 通过相对路径,进入当前目录下的myFiles目录
cd .. # 返回上级目录
cd ~ # 返回根目录
3)显示当前目录:pwd
pwd [-LP]
常用命令参数:-P :显示出确实的路径,而非使用连结 (link) 路径。
例:pwd
4)创建一个新目录:mkdir
mkdir [-mp] 目录名称
常用命令参数:
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
例:mkdir test # 在当前目录下创建test目录。
mkdir -p test1/test2/test3/test4 # 在当前目录下,一次性创建test1~test4这几个目录。
mkdir -m 711 test5 # 创建权限为 rwx--x--x 的目录。
5)删除一个空的目录:rmdir
rmdir [-p] 目录名称
常用命令参数:-p :连同上一级『空的』目录也一起删除
例:rmdir test5 # 在当前目录下删除test5目录。
rmdir -p test1/test2/test3/test4 # 在当前目录下,一次性删除test1~test4这几个目录中的空目录。
6)复制文件或目录:cp
cp [-adfilprsu] 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 .... directory
常用命令参数:
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
例:cp ~/.bashrc /tmp/bashrc # 将目录 ~/.bashrc 复制到 /tmp/bashrc
cp -i ~/.bashrc /tmp/bashrc # 复制时,若 /tmp/bashrc 目录已存在,覆盖前先询问。
7)移除文件或目录:rm
https://www.cnblogs.com/aijianshi/p/5762428.html
rm [-fir] 文件或目录
常用命令参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除,同时删除该目录下的所有目录层!非常危险的选项!!!
例:rm -i *.py # 删除所有py后缀的文件,并在删除前逐一询问。
8)移动文件与目录,或修改文件与目录的名称:mv
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
常用命令参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
例:mv -i test01 test02
9)查找文件或目录:find
http://www.runoob.com/linux/linux-comm-find.html
https://blog.csdn.net/li_ning_/article/details/51468980
find path -option [ -print] [-exec -ok command] {} \;
常用命令参数:
-amin n : 在过去 n 分钟内被读取过
-cmin n : 在过去 n 分钟内被修改过
-atime n : 在过去n天内被读取(access time)过的文件。+n意思为查找n天以前的文件,-n为查找n天以内的文件。
-ctime n : 在过去n天内被修改(change time)过的文件(注:文件属性被修改)。
-mtime n : 在过去n天内文件内容被修改(modify time)过的文件。
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位。 b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。 d: 目录, c: 字型装置文件, b: 区块装置文件, p: 具名贮列, f: 一般文件, l: 符号连结, s: socket。
例:find ./My\ Python -name 'test*' # 在 My Python 目录及其子目录下,查找test开头的文件及目录。
find ./My\ Python -iname 'P*' -type f # 在 My Python 目录及其子目录下,查找p开头(忽略大小写)的文件。f,文件;d,目录。
find /var/log -type f -mtime +7 -ok rm {} \; # 查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们。
find / -type f -size 0 -exec ls -l {} \; # 查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
10)新增、修改文本文件:vim
http://www.runoob.com/linux/linux-vim.html
vim [文件名称] # 无则新建,有则修改
文件打开后的常用操作:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。(常用如下)
q 退出程序
w 保存文件
11)查看文件:less
http://www.runoob.com/linux/linux-comm-less.html
less [参数] 文件
常用命令参数:
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
文件打开后的常用操作:
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
h 显示帮助界面
Q 退出less 命令
b 向前滚动一页
空格键 向后滚动一页
u 向前滚动半页
d 向后滚动半页
y/k 向前滚动一行
j/回车键 向后滚动一行
:n - 查看下一个文件
:p - 查看上一个文件
例:less -Nm test.txt # 查看文件时,N显示行号,并在左下角m显示当前页占全文的百分比数目。
less test01.txt test02.txt # 同时查看多个文件。输入“:n”查看下一个文件,输入“:p”查看上一个文件。
ps -ef|less # 查看进程信息,并通过less分页显示。
history|less # 查看命令历史纪录,并通过less分页显示。