Linux常见命令(面试高频)

简介: Linux常见命令(面试高频)

1.ls命令(list缩写)



通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等等

ls -a                                   列出目录所有文件,包含以.开始的隐藏文件
    ls -A                                   列出除.及..的其它文件
    ls -r                                   反序排列
    ls -t                                   以文件修改时间排序
    ls -S                                   以文件大小排序
    ls -h                                   以易读大小显示
    ls -l                                   除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
    ls -lhrt                                按易读方式按时间反序排序,并显示文件详细信息
    ls -lrS                                 按大小反序显示文件详细信息
    ls -l t*                                列出当前目录中所有以“t”开头的目录的详细内容
    ls | sed "s:^:`pwd`/:"                  列出文件绝对路径(不包含隐藏文件)
    find $pwd -maxdepth 1 | xargs ls -ld    列出文件绝对路径(包含隐藏文件)


2.cd命令(change directory缩写)



命令语法:cd [目录名]。说明:切换当前目录至dirName

cd /                                    进入要目录
    cd ~                                    进入"家"目录
    cd -                                    进入上一次工作路径
    cd !$                                   把上个命令的参数作为cd参数使用


3.pwd命令(print working directory缩写)



查看当前工作目录路径

pwd                                     查看当前路径
    pwd -P                                  查看软链接的实际路径


4.mkdir命令(make directory缩写)



创建文件夹

mkdir t                                 当前工作目录下创建名为t的文件夹
    mkdir -p /tmp/test/t1/t                 在tmp目录下创建路径为test/t1/t的目录,若不存在,则创建


5.rm命令(remove缩写)



删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状: rm [选项] 文件…

rm -i *.log                             删除任何.log文件;删除前逐一询问确认
    rm -rf test                             删除test子目录及子目录中所有档案删除,并且不用一一确认
    rm -- -f*                               删除以-f开头的文件


6.rmdir命令(remove directory缩写)



从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。注意:不能删除非空目录

rmdir -p parent/child/child11           当parent子目录被删除后使它也成为空目录的话,则顺便一并删除


7.mv命令(move缩写)



移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。 当第二个参数为目录时,可将多个文件以空格分隔作为第一参数,移动多个文件到参数2指定的目录中

mv test.log test1.txt                   将文件test.log重命名为test1.txt
    mv log1.txt log2.txt log3.txt /test3    将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
    mv -i log1.txt log2.txt                 将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
    mv * ../                                移动当前文件夹下的所有文件到上一级目录


8.cp命令(copy缩写)



将源文件复制至目标文件,或将多个源文件复制至目标目录。注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖!

cp -ai a.txt test                       复制a.txt到test目录下,保持原文件时间,如果原文件存在提示是否覆盖
    cp -s a.txt link_a.txt                  为a.txt建议一个链接(快捷方式)


9.cat命令(concatenate)



cat主要有三大功能:


  • 一次显示整个文件:cat filename
  • 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
  • 将几个文件合并为一个文件:cat file1 file2 > file

cat -n log2012.log log2013.log          把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
    cat -b log2012.log log2013.log log.log  把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里


10.more命令



功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示

->>命令参数:
    +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
    例子:
    more +3 text.txt                            more +3 text.txt
    ls -l | more -5                             在所列出文件目录详细信息,借助管道使每次显示5行


11.less命令



less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件

-i                                          忽略搜索时的大小写
    -N                                          显示每行的行号
    -o                                          <文件名> 将less 输出的内容在指定文件中保存起来
    -s                                          显示连续空行为一行
    /字符串:                                    向下搜索“字符串”的功能
    ?                                           字符串:向上搜索“字符串”的功能
    n:                                         重复前一个搜索(与 / 或 ? 有关)
    N:                                         向重复前一个搜索(与 / 或 ? 有关)
    -x                                          <数字> 将“tab”键显示为规定的数字空格
    b                                           向后翻一页
    d                                           向后翻半页
    h                                           显示帮助界面
    Q                                           退出less 命令
    u                                           向前滚动半页
    y                                           向前滚动一行
    空格键                                       滚动一行
    回车键                                       滚动一页
    [pagedown]:                                向下翻动一页
    [pageup]:                                  向上翻动一页


待补充,详情见参考... ...


面试常见问题



知道哪些linux指令?


(1)文件与目录操作


  • ls命令:查看linux文件夹中文件信息
  • ls -l:以长列表的形式列出文件和目录的详细信息
  • ls -Sr:以文件大小进行排序(文件小的在前)
  • ls -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
  • cd命令:切换目录 [目录名]。补充:绝对路径: 如/etc/init.d,当前目录和上层目录: ./ ../,主目录: ~/
  • pwd命令:查看当前的工作目录(显示当前路径)
  • du命令:查看文件或者目录所占的内存
  • du -h :查看一个文件夹中所有文件的大小(包含子目录中的文件)
  • mkdir命令:mkdir [目录名],也可同时创建两个目录
  • rm命令:删除一个目录中文件或者目录(注:如果没有使用- r选项,则rm不会删除目录)
  • mv命令:移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)
  • cp命令:复制文件或者目录,还可以把多个文件一次性地复制到一个目录下
  • cp -a file1 file2 :连同文件的所有特性把文件file1复制成文件file2
  • cp file1 file2 file3 dir :把文件file1、file2、file3复制到目录dir中
  • In命令:建立链接
  • 软链接(快捷方式):ln -s slink source
  • 硬链接(物理地址): ln link source
  • find命令:搜索文件/目录


(2)文件查看与处理


  • cat命令:查看文件内容
  • more命令:查看一个长文件的内容
  • head/tail命令
  • head/tail - n: 查看文件的前n行/后n行
  • tail -f /log/msg : 查看实时添加到文件中的内容(日志)
  • grep 命令:从输入文件中查找匹配到给定模式列表的行,文本搜索命令。
  • grep code hello.txt:查找文件中的关键字
  • grep ^code hello.txt:查找文件中以code开头的内容
  • sed命令:文件中删除替换元素
  • sort命令:合并两个文件
  • awk命令:将一行按照字段处理,默认分隔符为空格或tab


(3)网络与进程管理


  • ps命令:将某个进程显示出来,补充:其中UID:进程拥有者,PID:进程ID,PPID:上级父程序的ID
  • ps -a:显示所有用户的所有进程
  • ps --ppid 进程名:子进程查父进程;ptree -p 进程名:父进程查子进程
  • ps -ef|grep xxx(如java) :显示进程pid(程序id),例显示所有java进程
  • ps -aux | grep xxx(-aux显示所有状态)
  • top命令:实时显示进程的状态
  • kill命令:使用kill命令来终结进程
  • 先使用ps命令找到进程id,使用kill -9 进程号,彻底杀死某个进程
  • kill -s 进程的名字
  • netstat 命令:检查网络是否连通
  • netstat -anp|grep 端口号: 查看端口号是否被占用(状态为LISTEN表示被占用)。
  • netstat -nap|grep 7779:知道进程id7779,查看其占用的端口
  • ifconfig命令:命令查看 ip 地址及接口信息(网络接口属性)
  • route命令:
  • route -n:查看路由表
  • host命令:解析主机名,hostname命令:查看主机名
  • nslookup命令:查询dns记录,查看域名解析是否正常
  • sar命令: 查看网卡流量:sar -n DEV 1 2 命令后面1 2 意思是:每一秒钟取1次值,取2次。DEV显示网络接口信息
  • iostat命令: 查看IO情况 iostat -d -k 2 参数-d表示,显示设备(磁盘)使用状态; 2表示,数据显示每隔2秒刷新一次。


(4)打包与解压


  • tar命令:
  • tar -cvf xxx.tar file:创建非压缩的tar包
  • tar -tf xxx.tar :查看tar包中的内容
  • tar –xvf xxx.tar: 解压 tar包
  • zip/unzip xxx.zip: 压缩/解压zip
  • gzip -9 文件名:最大程度压缩


(5)其他


  • 系统服务命令:server,systemctl等
  • 关机重启注销命令:shutdown,reboot,logout等
  • rpm包管理命令:rpm -qa:已经安装的rpm包;rpm -ivh xxx.rpm:安装rpm包;rpm -e xxx:写在rpm包
  • yum包管理命令:yum list/update:升级/显示所有安装包等


ps:rpm与yum之间的关系


  • rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
  • Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。


ps:linux通配符


  • “?”可替代单个字符。
  • “*”可替代任意多个字符。
相关文章
|
1天前
|
安全 Linux 测试技术
|
1天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
|
2天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
2天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器
|
2天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
15 0
|
2天前
|
安全 Linux Shell
linux基础命令详解
linux基础命令详解
8 0
|
3天前
|
存储 缓存 安全
Linux系统内核面试题
Linux系统内核面试题
18 3
|
3天前
|
Linux
Linux常用命令2
Linux常用命令2
5 0
|
3天前
|
Linux
Linux常用命令1
Linux常用命令1
9 0