【Linux】常用命令


参考资料:
  1. http://blog.51cto.com/13576245/2065960 https://www.cnblogs.com/1102whw/p/7289255.html
  2. http://man.linuxde.net/ls
  3. http://man.linuxde.net/vi
  4. https://www.cnblogs.com/crazylqy/p/5818745.html
  5. 菜鸟教程:https://www.runoob.com/linux/linux-tutorial.html
  6. Linux命令大全
  7. Linux中国开源社区

绝对路径和相对路径

绝对路径:路径的写法一定是由根目录 / 写起的,如:/usr/local/mysql
相对路径:路径的写法不一定是由根目录 / 写起的。例如,先进入/home,再进入test,执行命令:

# cd /home
# cd test

此时所在路径为/home/test。第一个命令后跟了/home,前面有斜杠;而第二个cd命令后没斜杠。这个test是相对于/home目录来讲的,所以称为相对路径。

cd命令(change directory)

改变用户所在目录。如果后面什么都不跟,直接进入当前用户的根目录。后面跟目录名,则切换到指定目录。示例:

# cd /tmp/
# pwd 
/tmp
# cd
# pwd
/home/admin

命令pwdprint work directory)用于显示当前所在目录。命令cd后面只能是目录名,跟文件名会报错。如:

# cd /etc/passwd
-bash: cd /etc/passwd: 不是目录

DOS系统中,. 表示当前目录 ;.. 表示当前目录的上一级目录。
实用用法:# cd - 直接进入上一次所在的目录。相当于交替键(电视遥控的回看键)

rm命令(remove)

这个命令即可以删除目录,也可以删除文件。
* 表示该目录或文件下的所有文件,也可以写成 *.txt。例如:# rm /tmp/test/*.txt
-r :删除目录,类似rmdir。和rmdir不同之处:使用rm -r命令删除目录时,会询问是否删除,如果输入y ,则会删除;输入 n,则不删除。该命令能删除非空目录,rmdir只可以删除空目录。
-f :强制删除。不询问是否删除,直接删。后面跟一个不存在的文件或目录,不会报错。
-rfrf 并用,比较方便,rm -rf后不能增加/,否则会把系统的文件全部删除,非常危险。rf后加个v可以看到删除的过程。删除过程:先删目录里的文件再删目录。

mkdir命令(make directory)

用于创建目录。格式为:mkdir [-mp][目录名称]
其中-m-p为其选项,-m选项用于指定要创建目录的权限(不常用)。-p选项能强行创建目录。

# mkdir /tmp/test/123
mkdir:无法创建目录/tmp/test/123:没有那个文件或目录
# mkdir -p /tmp/test/123
#ls /tmp/test/
123
ls命令(list)

ls -l,可缩写为ll,查看当前目录下的文件列表详细信息。
ls,查看当前目录下的文件列表。
颜色含义:蓝色 -> 目录 ;绿色 -> 可执行文件 ;红色 -> 压缩文件 ; 浅蓝色 -> 链接文件 ; 灰色 -> 其他文件。

cat命令

显示文件内容。如:cat m1,在屏幕上显示文件m1的内容。需要输出行号用:nl m1

touch命令

新建空文件。存在则更新时间戳。如:touch file,当前目录下新建空文件file。

vi命令

UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版,与vi编辑器完全兼容,而且实现了很多增强功能。vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握这两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从命令模式切换到编辑模式使用a、A、O、o、I、i键;从编辑模式切换到命令模式使用esc键。vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置内容则需要以冒号开头输入。常用命令(均在命令模式下生效)如下:

:行号,光标跳转找指定行的行首。如:跳转到第八行行首,使用`:8`。
:$,光标跳到最后一行的行首。
:wq ,执行存盘退出操作。
:w,执行存盘操作。
:w!,执行强制存盘操作。
:q,执行退出vi操作。
:q!,执行强制退出vi操作。
a,在当前字符后添加文本。
A,在行末添加文本。
i,在当前字符前插入文本。
I,在行首插入文本。
o,在当前行后面插入一空行。
O,在当前行前面插入一空行。
D,删除从当前光标到光标所在行末尾的全部字符。
ZZ,命令模式下保存当前文件所做的修改后退出vi。
x,删除光标后字符。
X,删除光标前字符。
dd,删除光标行整行内容。
p,粘贴文本操作,将缓存区的内容粘贴到当前光标所在位置的下方。
P,粘贴文本操作,将缓存区的内容粘贴到当前光标所在位置的上方。

扩展:

  • 命令方式,在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释。例如,a(append)表示附加命令,x表示删除字符命令等。如果输入的字符不是vi的合法命令,则机器发出报警声,光标不移动。另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。

  • 输入方式,通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或替代命令(r)可以从命令方式进入输入方式。在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标出添加一个字母i。

  • ex转义方式,vi和ex编辑器功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的转义命令,可访问很多面向行的ex命令。转义方式是输入一个冒号,作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键),可终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的。转义命令执行后,自动回到命令方式。

  • 三种方式转换关系如下图所示:
    这里写图片描述
rename命令

用字符串替换的方式批量改变文件名。
语法:rename(参数)
参数:

原字符串:文件名需要替换的字符串
目标字符串:新的字符串
文件:指定要改变文件名的文件列表

示例:将 main1.c 重命名为 main.c,rename main1.c main.c main1.c

find命令

在指定目录下查找文件。
语法:find 起始目录 选项
路径:查找文件的起始目录。
选项:

-name 按照文件名查找。
..........

示例:

find : 查找出当前目录下的所有子目录和所有文件。
find . : 同上。
find / -name "*.sh" : 查找根目录下的所有.sh文件。
ps(process)与 kill

ps:查看进程。如:ps -A 显示所有程序。更多…
kill:结束进程。如:kill 9 8 强制结束PID为8的进程。更多…
查看redis进程:ps aux|grep redis
结束redis进程:kill aux|grep redis

查看时间日期

date:查看时间
cal:查看日历。例如:cal 2018,查看2018年的日历;cal 6 2018 ,查看2018年6月日历。

快捷键

Tab,命令补全。
Ctrl + c,结束当前程序。
Ctrl + d,通常代表输入结束。可替代exit。如:退出MySQL命令列。
Ctrl + Insert 或 选中即复制,复制
Shift + Insert 或 鼠标滚轮,粘贴

大小写

Linux严格区分大小写。

防火墙
临时开启:service iptables start 
临时关闭:service iptables stop

永久开启:chkconfig iptables on
永久关闭:chkconfig iptables off
重启后永久开启/关闭生效。
解压缩

解压:tar xzvf 解压缩文件名
压缩:tar czvf new.tar.gz file1 file2
-z: 通过gzip指令处理备份文件。
-x: 从备份中间中还原文件。
-v: 显示指令执行过程。
-f: 指定备份文件。
-c: 生成备份文件。

执行文件

两种方式:./startup.sh(必须有x权限) ; sh startup.sh(可以没有x权限)

vim中搜索字符串

示例:打开一个文件,需搜索redis字符串。
使用命令 /redis,按n键切换到下一个查询结果。

查看命令帮助

每一个命令都可以通过后跟 --help 的方式来查看命令帮助。
实例:rm --help

网络
  • 显示网络相关信息:netstat。如:列出所有当前的连接,netstat -a
  • 开启和关闭某个端口:https://blog.csdn.net/weixin_37264997/article/details/80329786
  • 查看公网ip地址:curl cip.cc
  • 查看被占用的端口:netstat -tunlp|grep 端口号
  • 查看某进程状态:ps -ef|grep tomcat 。e: 显示所有执行的进程
    f: 显示UID(进程拥有者)PID(进程号) PPID(父进程号) C(cpu使用率) STIME(进程开始时间) TTY(终端的次要装置号码) TIME(进程执行时间) CMD(command 执行的命令)
ifconfig

查看本机内网ip。
显示或设置网络设备。可设置网络设备的状态,或是显示目前的设置。
启动网卡:ifconfig eth0 up
关闭网卡:ifconfig eth0 down
给网卡配置ip地址:ifconfig eth0 192.168.1.56
给网卡配置ip地址并加上子掩码:ifconfig eth0 192.168.1.56 netmask 255.255.255.0
给网卡配置ip地址,加上子掩码,加上广播地址:ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255

history

查看命令历史。详解…

命令&

在后台执行命令。如:supervisorctl start tomcat &,tomcat启动在后台执行并返回进程的ID。更多…

head

查看文件的前 n 行:head -n 文件名。
示例:head -n project.log

tail

查看文件的后 n 行:tail -n 文件名。
如果需要查看持续输入,可添加-f。如:tail -f -2 project.log。也可以写为:tail -fn 2 project.log。如果不想再查看,则可按 Ctrl + C 终止持续输出改变。

nohup

将输出重定向到文件:nohup command &。如:nohup java -jar test.jar &,表示将test.jar的运行日志重定向到默认的nohup.out文件中。更多…

cp

cp 源文件全路径 目标文件全路径
参数 -r:复制目录,包括子目录和文件。更多…

rpm

RPM:Red-Hat Package Manager,软件包管理器。可用于rpm文件的打包和安装。

  • 检查某软件是否已安装:rpm -qa|grep tomcat
  • 一次安装多个rpm包:rpm -ivh python*.rpm
  • 一次下载所有依赖包: yum install 包名 --downloadonly --downloaddir=/data/rpm

rpm参数含义:
-a: 查询所有套件。
-q: 使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
-i: 显示套件的相关信息。
-v: 显示指令执行过程。
-h: 套件安装时列出标记。
-e:删除指定套件。
–nodeps :不验证套件档的相互关联性。
如果参数为单个字符,则用一个连接符。
如果参数为多个字符,则用两个连接符。

grep

搜索文件内容。
如搜索文件中包含error的行:grep -rn ".*error.*" /logs/server-sign.log
显示包含error的行的前后2行:grep -rn -C 2 ".*error.*" /logs/server-sign.log

wc

统计文件行数。
示例:wc -l log.txt

磁盘管理

df命令:用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
du命令:也用于查看使用空间,与df命令不同的是,du命令是对文件和目录磁盘使用的空间的查看。
fdisk命令:是 Linux 的磁盘分区表操作工具。
更多…

上传文件

rz,上传文件。

awk 从文档中筛选出指定位置字符

例如:获取第二个单词的字符串:root 1223 abcawk '{print $2}',打印出1223。

xargs 利用管道将输出作为参数

例如:cat a.txt | awk '{print $2}' | xargs kill

百科
  • linux行首字符的含义:[用户名@主机名 目录]。如:[root@test ~],后面跟 # 表示此用户为超级用户;后面跟 $ 表示此用户为普通用户。
  • 查看系统版本:cat /etc/redhat-release
  • service systemctl 的区别?red-hat6 一般使用service启停服务;red-hat7 一般使用systemctl启停服务,它还包含了chkconfig的功能。
  • 管道符 | 的作用:利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值