简简单单之Linux命令入门

简介: 简简单单之Linux命令入门

引入

作为一名合格的后端开发人员,我们难免要在 Linux 环境下进入操作,查找问题,配置文件等等操作。因此,我觉得我们需要掌握简单的 Linux 命令。本文简简单单介绍一下 Linux 的常见操作,努力让读者在 Linux 环境下可以进行工作。

目录结构

Linux 大体目录结构如图所示。其中上面的 / 表示的是跟目录。

显示目录位置pwd

[root@iZm5eixsxpdmrg95cpxvmlZ /]# pwd
 
/

进入目录 cd

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cd usr/
[root@iZm5eixsxpdmrg95cpxvmlZ usr]# pwd
/usr

可以看到我们进入了 usr 目录

显示内容 ll

[root@iZm5eixsxpdmrg95cpxvmlZ usr]# ll
 
total 136
dr-xr-xr-x.   2 root root 32768 Jan  6 21:00 bin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 etc
drwxr-xr-x.   2 root root  4096 Apr 11  2018 games
drwxr-xr-x.  69 root root 12288 Dec  4 11:16 include
drwxr-xr-x    3 root root  4096 Dec  4 11:27 java
dr-xr-xr-x.  33 root root  4096 Jan  6 21:02 lib
dr-xr-xr-x.  49 root root 36864 Jan  6 21:00 lib64
drwxr-xr-x.  24 root root  4096 Dec  4 11:16 libexec
drwxr-xr-x.  21 root root  4096 Jan  6 21:02 local
dr-xr-xr-x.   2 root root 16384 Jan  6 21:02 sbin
drwxr-xr-x. 104 root root  4096 Jan  6 21:00 share
drwxr-xr-x.   4 root root  4096 Jul 11  2019 src
lrwxrwxrwx.   1 root root    10 Jul 11  2019 tmp -> ../var/tmp

该命令可以显示目录里面所有的文件名称、文件的权限、文件大小(kb)等等详细信息。

进入根目录 cd /

[root@iZm5eixsxpdmrg95cpxvmlZ usr]# cd /
[root@iZm5eixsxpdmrg95cpxvmlZ /]# ll
 
total 2097224
lrwxrwxrwx.  1 root root          7 Jul 11  2019 bin -> usr/bin
dr-xr-xr-x.  5 root root       4096 Jul 11  2019 boot
drwxr-xr-x   6 root root       4096 Dec 15 10:04 data
drwxr-xr-x  19 root root       2960 Dec 15 10:05 dev
drwxr-xr-x. 82 root root       4096 Jan  6 21:02 etc
drwxr-xr-x.  2 root root       4096 Apr 11  2018 home
drwxr-xr-x   3 root root       4096 Dec  4 11:04 java
lrwxrwxrwx.  1 root root          7 Jul 11  2019 lib -> usr/lib
lrwxrwxrwx.  1 root root          9 Jul 11  2019 lib64 -> usr/lib64
drwx------.  2 root root      16384 Jul 11  2019 lost+found
drwxr-xr-x.  2 root root       4096 Apr 11  2018 media
drwxr-xr-x.  2 root root       4096 Apr 11  2018 mnt
drwxr-xr-x.  2 root root       4096 Apr 11  2018 opt
dr-xr-xr-x  92 root root          0 Dec 15 10:05 proc
dr-xr-x---.  5 root root       4096 Jan 10 10:57 root
drwxr-xr-x  24 root root        720 Jan  6 21:00 run
lrwxrwxrwx.  1 root root          8 Jul 11  2019 sbin -> usr/sbin
drwxr-xr-x.  2 root root       4096 Apr 11  2018 srv
-rw-------   1 root root 2147483648 Dec  4 11:13 swapfile
dr-xr-xr-x  13 root root          0 Dec 15 15:28 sys
drwxrwxrwt.  9 root root       4096 Jan 10 03:15 tmp
drwxr-xr-x. 14 root root       4096 Dec  4 11:27 usr
drwxr-xr-x. 19 root root       4096 Jul 11  2019 var

进入上级目录 cd ..

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cd /usr/
[root@iZm5eixsxpdmrg95cpxvmlZ usr]# cd ..
[root@iZm5eixsxpdmrg95cpxvmlZ /]# pwd
/

文件权限chmod

一般来说一个文件有三种角色

  • 拥有者
  • 拥有组
  • 其他人

权限有三种表示

  • r 表示只可以读文件,可以用数字 4 代替
  • w 表示只可以写文件,可以用数字 2 代替
  • x 表示只可以执行文件,可以用数字 1 代替

其中数字可以累加

  • 5 表示可读可执行
  • 6 表示可读可写
  • 7 表示可读可写可执行

举个例子

chmod 754 a.txt

该命令表示

  • 拥有者可读可写可执行
  • 拥有组可读写可执行
  • 其他者可读

可见三个数字是表示三种不同角色。

查找目录

find 位置  -name 文件名

例子

[root@iZm5eixsxpdmrg95cpxvmlZ /]# find / -name tomcat
 
/usr/local/tomcat
/etc/logrotate.d/tomcat
/etc/selinux/targeted/active/modules/100/tomcat
/etc/rc.d/init.d/tomcat

显然我们目的是在从目录开始去寻找 tomcat 目录

字符串处理

管道|

这个命令大家应该很常见,他是 Linux 里面管道,用于连接两个或者多个命令,具体表现为上一个命令的输出内容作为下个命令的输入内容。

例子

[root@iZm5eixsxpdmrg95cpxvmlZ /]# ps aux| grep tomcat
 
 
root      2292  0.0  0.0 112712   956 pts/0    R+   11:29   0:00 grep --color tomcat
www       6514  0.1 32.8 2993956 618504 ?      Sl    2019  45:28 /usr/java/jdk1.8.0_231/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx919m -Dfile.encoding=UTF-8 -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Djava.library.path=/usr/local/apr/lib -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

搜索文本grep

该命令用于匹配字符串,相当于我们常用的 Ctrl+f.

grep  匹配内容 文件名

例子

[root@iZm5eixsxpdmrg95cpxvmlZ /]# grep asda test.txt
 
asda

排序sort

sort [-ntkr] 文件名
 
其中:
n:数字排序
t:指定分隔符
k:指定一第几列为标准排序,常与 t 一起使用
r:逆序

例子:

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 
 
a:2
s:6
d:1
a:0
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | sort 
 
a:0
a:2
d:1
s:6
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | sort -t ":" -k 2 
 
a:0
d:1
a:2
s:6
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | sort -t ":" -k 2 -r
s:6
a:2
d:1
a:0

计算重复uniq

uniq [-ic]
 
# -i 忽略大小写
# -c 计算重复行数

常与sort使用

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 
 
a:2 a a d
s:6 a V
d:1   a
a:0
a:0
a:0
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | uniq
 
a:2 a a d
s:6 a V
d:1   a
a:0
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | uniq -c
 
      1 a:2 a a d
      1 s:6 a V
      1 d:1   a
      3 a:0
      
      
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt| sort | uniq -c
 
      3 a:0
      1 a:2 a a d
      1 d:1   a
      1 s:6 a V

进程

瞬间状态ps

该命令用于查看某一时刻的进程状态

ps 参数
#-A 列出所有的进程,和-e一样
#aux 显示所有的包含其他使用者的进程

查看tomcat进程是否存在

[root@iZm5eixsxpdmrg95cpxvmlZ /]# ps aux | grep tomcat
 
 
www       6514  0.1 32.8 2993956 618504 ?      Sl    2019  47:29 /usr/java/jdk1.8.0_231/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx919m -Dfile.encoding=UTF-8 -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Djava.library.path=/usr/local/apr/lib -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root     32062  0.0  0.0 112712   952 pts/0    R+   17:46   0:00 grep --color tomcat

实时状态top

该命令用于查看cpu实时运行状态,内存空间

通过pid终止进程kill

通过名称终止进程killall

killall 命令比较安全,可以输出进程名称终止,避免输错数字pid

端口占用 lsof

改命令查看端口是否被占用

[root@iZm5eixsxpdmrg95cpxvmlZ /]# lsof -i:3306
 
COMMAND  PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  5437 mysql   30u  IPv4    94759      0t0  TCP *:mysql (LISTEN)

vim 编辑器

vim编辑器是Linux的文本编辑器,相当window的记事本。

查找关键字 /

在vim里面我们使用 / 关键字查找关键字

退出

使用 esc:wq组合保存退出vim

文本处理工具awk

awk默认以空格划分域(列数),因此我们可以通过 awk打印特定的列

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 
 
a:2 a a d
s:6 a V
d:1   a
a:0
a:0
a:0
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# awk '{print $1}' test.txt 
 
a:2
s:6
d:1
a:0
a:0
a:0

指定分割-F 分隔符

如果我们不需要空格分割,可以指定其他

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 
 
a:2 a a d
s:6 a V
d:1   a
a:0
a:0
a:0
 
 
[root@iZm5eixsxpdmrg95cpxvmlZ /]# awk -F : '{print $1}' test.txt 
 
a
s
d
a
a
a



相关文章
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
621 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
441 21
|
3月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
3月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
215 13
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
3月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。
|
3月前
|
Linux
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
241 8
|
2月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
74 0
|
4月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
256 32
|
3月前
|
安全 Linux 定位技术
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
88 4