找回密码
 立即注册
Qt开源社区 门户 查看内容

Linux 常用简单命令整理

2019-4-17 05:15| 发布者: admin| 查看: 622| 评论: 0

摘要: Bash 常用快捷键快捷键 作 用Ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,则在想要把光标移动到命令行开头时使用Ctrl+E 把光标移动到命令行结尾Ctrl+C 强制中止当前的命令Ctrl+L 淸屏,相当于 clear 命 ...
Bash 常用快捷键

快捷键 作 用

Ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,则在想要把光标移动到命令行开头时使用

Ctrl+E 把光标移动到命令行结尾

Ctrl+C 强制中止当前的命令

Ctrl+L 淸屏,相当于 clear 命令

Ctrl+U 刪除或剪切光标之前的命令。假设输入了一行很长的命令,无须使用退格键一个一个字符地刪除, 使用这个快捷键会更加方便

Ctrl+K 删除或剪切光标之后的内容

Ctrl+Y 粘贴 Ctrl+U 或 Ctrl+K 剪切的内容

Ctrl+R 在历史命令中搜索,按下 Ctrl+R 组合键之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索

Ctrl+D 退出当前终端

Ctrl+Z 暂停,并放入后台。这个快捷键涉及工作管理的内容,我们会在后续中详细介绍

Ctrl+S 暂停屏幕输出

Ctrl+Q 恢复屏幕输出

Linux 命令基本格式:

命令 [选项] [参数]

说明:命令后的 #为命令的备注说明

显示目录下的内容

ls  选项: -a 显示所有文件(包括隐藏文件);-d 显示目录信息,而不是目录下的文件;-h 人性化显示,按照我们习惯的单位显示文件大小;-i 显示文件的 i 节点号;-l 长格式显示;

参数:具体的目录

经验:可以使用简写的 ll,ll -a,或者 ls -ahil 等

切换目录

cd  选项:-P(大写)是指如果切换的目录是软链接目录,则进入其原始的物理目录,而不是进入软链接目录; -L(大写)是指如果切换的目录是软链接目录,则直接进入软链接目录。

参数:具体的目录

经验:cd 命令选项很少使用,常用的有 :

切换用户的权限根目录 cd ~

cd -  #上次目录

cd ..  #上级目录

cd .  #当前目录

参数前不加/是当前目录向下寻找,加/是绝对路径根目录开始寻找

创建目录

mkdir  选项:-p: 递归建立所需目录

参数:需创建目录

经验:对于一次创建一串并不存在的目录使用 -p

例如:mkdir -p /a/b/c/d

删除目录

rmdir  选项:-p: 递归刪除目录

参数:具体目录

经验:-p 递归删除,rmdir一般不常用,因为不能删除非空目录

(触摸) 文件不存在创建文件,存在修改访问时间

touch  选项:-a 只修改文件的访问时间(Access Time);-c 如果文件不存在,则不建立新文件;-d 把文件的时间改为指定的时间;-m 只修改文件的数据修改时间(Modify Time)

参数:具体的文件名

经验:touch bols #建立名为 bols 的空文件,存在也不报错

删除

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录

选项:-f 强制删除(force),-i 交互删除,在删除之前会询问用户,-r 递归删除,可以删除目录(recursive)

参数:文件或目录路径

经验:rm不加选项默认是 rm -i,会进行询问。

          rm -r 目录或文件 #删除目录需要加-r进行递归删除下面内容,否则报错,rm -r -f或rm -rf 进行强制,-f就不会再一一进行询问直接强制删除,(认真检查删除目录,认真检查删除目录,认真检查删除目录,重要的事情说三遍)强制删除写错了删除路径可能会导致严重的后果, extundelete 这些虽然能进行恢复但也都会有丢失。

复制

cp

选项:-a 相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;

-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;

-i 询问,如果目标文件已经存在,则会询问是否覆盖;

-l 把目标文件建立为源文件的硬链接文件,而不是复制源文件;

-s 把目标文件建立为源文件的软链接文件,而不是复制源文件;

-p 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);

-r 递归复制,用于复制目录;

参数:cp [选项] 源文件 目标文件

经验:默认执行的是cp -i;

         cp cangls /tmp/ #把源文件不改名复制到 /tmp/ 目录下;

         cp cangls /tmp/bols #改名复制;cp -r /root/movie/ /tmp/ #目录原名复制;

 

移动(剪切)

mv 是用来移动目标的命令

选项:-f 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;

-i 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);

-n 如果目标文件已经存在,则不会覆盖移动,仅移动不重复文件,而且不询问用户;

-v 显示详细信息;

参数:【选项】 源文件 目标文件

经验:可以通过适配一次移动多个文件;

        mv -vn bols cangls lmls /tmp/ 将多个文件移动到/tmp 下;

        mv cangls /tmp/ #移动之后,源文件会被删除,类似剪切;

        mv movie/ /tmp/ #也可以移动目录。和 rm、cp 不同的是,mv 移动目录不需要加入"-r"选项;

       mv -f cangls /tmp/ #就算 /tmp/ 目录下已经存在同名的文件,由于"-f"选项的作用,所以会强制覆盖;

        mv -v *.txt /tmp/ 显示移动过程;

        mv bols lmls #把 bols 改名为 lmls;

查看命令历史

history #简单查看历史

history | more  #详细历史内容

査看文件内容

cat (concatenate这个单词的意思连接文件)

选项:-A 相当于 -vET 选项的整合,用于列出所有隐藏符号;

-E:列出每行结尾的回车符 $;

-n:显示行号;

-T:把 Tab 键 ^I 显示出来;

-V:列出特殊字符;

参数:文件路径

经验:查看文件内容,不论多少都会一次性全部显示出来。PgUp+上箭头组合键向上翻页

分屏显示文件

more

选项:

参数:文件路径

经验:

空格键:向下翻页。b:向上翻页。回车键:向下滚动一行。/ 字符串:搜索指定的字符串。q:退出。

显示文件开头

head  选项:-n 行数 从文件头开始,显示指定行数;-v:显示文件名;

参数:文件路径

经验:head -n 20 anaconda-ks.cfg 显示前20行,head -20 anaconda-ks.cfg 也可以这样直接写行数

显示文件结尾

tail 用来显示文件结尾对应head 选项:-n 行数:从文條尾开始,显示指定行数;-f:监听文件的新増内容

参数:文件路径

经验:tail -n 20 anaconda-ks.cfg 或者简写末尾20行: tail -20 anaconda-ks.cfg

创建软硬连接(

ln (link) 创建软硬连接 选项:-s:建立软链接文件。如果不加"-s"选项,则建立硬链接文件; -f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;

参数:原路径 软连接路径

经验: ln -s /root/check /tmp/check-soft #一般以创建软连接(类似微软快捷方式为主,直接指向软链接进行操作与指向原地址一样的效果,对应运维人员处理会特别方便),硬链接是将同一个文件复制了两份,修改任何一个另一个也会修改(一般使用较少)。

 査看文件详细信息

stat (status) 査看文件详细信息 选项:-f:査看文件所在的文件系统信息,而不是査看文件的信息。

参数: 文件目录

经验:stat abc

搜索

find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、时间、inode 号等来搜索文件

find 搜索路径 [选项] 搜索内容 find 是比较特殊的命令,它有两个参数:第一个参数用来指定搜索路径;第二个参数用来指定搜索内容。

选项:

-name: 按照文件名搜索;

-iname: 按照文件名搜索,不区分文件名大小;

-inum: 按照 inode 号搜索;

-size[+-]大小:按照指定大小搜索文件

-type d:查找目录

-type f:查找普通文件

-type l:查找软链接文件

经验:

find / -name yum.conf #完全匹配

find . -name '*.txt' #在当前目录下模糊匹配

find . -type f | xargs grep 'your_string' #在当前目录搜索文件内容含有某字符串(大小写敏感)的文件

find . -type f -name '*.sh' | xargs grep 'your_string'#在当前目录搜索文件内容含有某字符串(大小写敏感)的特定文件

find . -type f -name '*.sh' | xargs grep -i 'your_string' #在当前目录搜索文件内容含有某字符串(忽略大小写)的特定文件

find /etc -type d #查找/etc/目录下有哪些子目录

网络探测

ping 网络命令,主要通过 ICMP 协议进行网络探测,测试网络中主机的通信情况

选项:

-b: 后面加入广播地址,用于对整个网段进行探测;

-c 次数: 用于指定 ping 的次数;

-s 字节: 指定探测包的大小;

经验:ping -c 10 IP或域名

网络状态查看命令

netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接

选项:

-a:列出所有网络状态,包括 Socket 程序;

-c秒数:指定每隔几秒刷新一次网络状态;

-n:使用 IP 地址和端口号显示,不使用域名与服务名;

-p:显示 PID 和程序名;

-t:显示使用 TCP 协议端口的连接状况;

-u:显示使用 UDP 协议端口的连接状况;

-I:仅显示监听状态的连接;

-r:显示路由表;

经验:

netstat -tuln #查看本机开启的端口(服务异常时常用此命令检查端口)。

netstat -an #监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socke 程序连接等

查看磁盘使用情况

df 查看磁盘使用情况单位KB

df -h 查看磁盘使用情况单位百分比

du 查询当前目录下使用的大小 文件夹及文件大小查询

du -h --max-depth=1 //查询文件夹 cd / 表所有目录

进程管理

"ps aux"可以查看系统中所有的进程; 包括CPU,内存使用情况等

"ps -le"可以查看系统中所有的进程,而且还能看到进程的父进程的PID和进程优先级;

"ps -l"只能看到当前Shell产生的进程;

ps -fe|grep fftest.log  查看制定文件被哪些进程使用

 ps -ef 和 aux 是不能看到僵尸进程的

top 可以看到僵尸进程的个数

 用ps命令查看僵尸进程:

 ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

这时,可以使用 kill -HUP 进程ID 杀掉这个进程。如果再次查看僵尸进程还存在,可以kill -HUP 进程ID(父进程)。

    如果有多个僵尸进程,可以通过

    ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'|awk 'print{$2}'|xargs kill -9

    处理。

pstree 查看进程树

kill 进程ID 通过进程ID杀掉进程

killall 进程名 通过名字杀掉进程

pkill 终止进程 按终端号踢出用户

kill -15 pid,kill -9(谨慎使用)

循环执行定时任务

 crontab [选项] 循环执行定时任务

选项:

-e:编辑 crontab 定时任务;

-l:查询 crontab 定时任务;

-r:删除当前用户所有的 crontab 定时任务。如果有多个定时任务,只想删除一个,则可以使用“crontab -e”;

-u 用户名:修改或删除其他用户的 crontab 定时任务。只有 root 用户可用;

vi /etc/crontab 系统定时任务,crontab -e主要是当前用户自己的定时任务

以下是 crontab 文件的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}

o minute: 区间为 0 – 59

o hour: 区间为0 – 23

o day-of-month: 区间为0 – 31

o month: 区间为1 – 12. 1 是1月. 12是12月.

o Day-of-week: 区间为0 – 7. 周日可以是0或7.

at 一次性执行定时任务

后台工作

nohup 命令的作用就是让后台工作在离开操作终端时,也能够正确地在后台执行不受用户状态影响

"命令 &" #把命令放入后台执行 但用户退出后命令将结束

jobs 命令可以用来查看当前终端放入后台的工作

选项:

-l:显示工作的 PID;

如果想把后台工作恢复到前台执行,就需要执行 fg 命令。

 参数:%工作号:"%"可以省略,但是注意工作号和PID的区别;

把后台暂停的工作恢复到后台执行

bg %工作号

持续更新...


----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:全职码农,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了