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通配符
- “?”可替代单个字符。
- “*”可替代任意多个字符。