基本命令
pwd
使用pwd命令找出您所在的当前工作目录(文件夹)的路径。该命令将返回绝对(完整)路径,基本上是所有目录中以正斜杠(/)开头的路径,绝对路径的示例是/ home / username。
cd
要浏览Linux文件和目录,请使用cd命令。它需要完整路径或目录名称,具体取决于您所在的当前工作目录。
另一种情况是,如果您想切换到一个全新的目录,例如/ home / username / Movies。在这种情况下,您必须键入cd,然后键入目录的绝对路径:cd / home / username / Movies。
ls
的LS命令用于查看目录的内容。默认情况下,此命令将显示当前工作目录的内容。如果要查看其他目录的内容,请键入ls,然后键入目录的路径。例如,输入LS /home/username/Documents查看的内容的文件。
cat
cat是Linux中最常用的命令之一。它用于在标准输出(sdout)上列出文件的内容。要运行此命令,请键入cat,然后输入文件名及其扩展名。例如:cat file.txt。
cp
使用cp命令将文件从当前目录复制到另一个目录。例如,命令cp scenery.jpg / home / username / Pictures将在您的Pictures目录中(从您的当前目录创建)scenery.jpg的副本。
mv
mv命令的主要用途是移动文件,尽管它也可以用于重命名文件。
mkdir
使用mkdir命令创建一个新目录-如果键入mkdir Music,它将创建一个名为Music的目录。要在另一个目录中生成新目录,请使用此Linux基本命令mkdir Music / Newfile使用 p选项在两个现有目录之间创建目录。例如,mkdir -p Music / 2020 / Newfile将创建新的“ 2020”文件。
rmdir
如果需要删除目录,请使用rmdir命令。但是,rmdir仅允许您删除空目录。
rm
该RM命令用于删除目录以及其中的内容。如果只想删除目录(作为rmdir的替代方法),请使用rm -r。不过,使用此命令时要格外小心,并仔细检查您所在的目录。这将删除所有内容,并且没有恢复的选项。
touch
该触摸命令允许您创建通过Linux命令行新的空白文件。例如,输入touch /home/username/Documents/Web.html在Documents目录下创建一个名为Web的HTML文件。
locate
您可以使用此命令来定位文件,就像Windows中的搜索命令一样。此外,将-i参数与该命令一起使用将使其不区分大小写,因此即使您不记得其确切名称,也可以搜索文件。
find
类似于locate命令,使用 find还可以搜索文件和目录。区别在于,您可以使用find命令在给定目录中查找文件。例如,find / home / -name notes.txt命令将在主目录及其子目录中搜索名为notes.txt的文件。
grep
无疑对日常使用有用的另一个基本Linux命令是grep。它使您可以搜索给定文件中的所有文本。为了说明这一点,grep blue notepad.txt将在记事本文件中搜索单词blue。包含搜索到的单词的行将被完整显示。
sudo
该命令是“ SuperUser Do ”的缩写,使您能够执行需要管理或超级用户权限的任务。但是,建议不要将此命令用于日常使用,因为如果您做错了什么,很容易发生错误。
head
所述head command用于查看任何文本文件的第一行。默认情况下,它将显示前十行,但是您可以根据自己的喜好更改此数字。例如,如果只想显示前五行,则键入head -n 5 filename.ext。
tail
该命令的功能与head命令类似,但是tail命令将显示文本文件的最后十行,而不是显示第一行。例如,tail -n filename.ext。
tar
该命令是最常用的命令归档多个文件到一个压缩包-类似于zip格式常见的Linux文件格式,压缩是可选的。
chmod
chmod是另一个Linux命令,用于更改文件和目录的读取,写入和执行权限。由于此命令相当复杂,因此您可以阅读完整的教程以正确执行它。
kill
如果您的程序无响应,则可以使用kill命令手动终止它。它将向运行不正常的应用发送特定信号,并指示该应用自行终止。
ping
使用ping命令检查与服务器的连接状态。例如,只需输入ping http://google.com,该命令将检查您是否能够连接到Google并测量响应时间。
wget
Linux命令行非常有用-您甚至可以在wget命令的帮助下从Internet下载文件。为此,只需键入wget,然后输入下载链接。
top
作为与Windows中的任务管理器等效的终端,top命令将显示正在运行的进程以及每个进程使用多少CPU的列表。监视系统资源的使用非常有用,尤其是知道哪个进程由于消耗太多资源而需要终止时。
history
使用Linux一段时间后,您会很快注意到每天可以运行数百个命令。因此,如果您想查看之前输入的命令,运行历史记录命令特别有用。
echo
此命令用于将一些数据移到文件中。例如,如果要将文本“ Hello,我的名字叫约翰”添加到名为name.txt的文件中,则可以键入echo Hello,我的名字是John >> name.txt
zip,unzip
使用zip命令将文件压缩到zip存档中,然后使用unzip命令从zip存档中提取压缩文件。
查看内存
free 命令是Linux系统中最简单和最常用的内存查看命令, 示例如下:
$ free -m
total used free shared buff/cache available
Mem: 7822 321 324 377 7175 6795
Swap: 4096 0 4095
$ free -h
total used free shared buff/cache available
Mem: 7.6G 322M 324M 377M 7.0G 6.6G
Swap: 4.0G 724K 4.0G
其中, -m 选项是以MB为单位来展示内存使用信息; -h 选项则是以人类(human)可读的单位来展示。
上面的示例中, Mem: 这一行:
- total 表示总共有 7822MB 的物理内存(RAM),即7.6G。
- used 表示物理内存的使用量,大约是 322M。
- free 表示空闲内存;
- shared 表示共享内存?;
- buff/cache 表示缓存和缓冲内存量; Linux 系统会将很多东西缓存起来以提高性能,这部分内存可以在必要时进行释放,给其他程序使用。
- available 表示可用内存;
另一种方法是读取 /proc/meminfo 文件。 我们知道, /proc 目录下都是虚拟文件,包含内核以及操作系统相关的动态信息。
cat /proc/meminfo
MemTotal: 8010408 kB
MemFree: 323424 kB
MemAvailable: 6956280 kB
Buffers: 719620 kB
Cached: 5817644 kB
SwapCached: 132 kB
Active: 5415824 kB
Inactive: 1369528 kB
...
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 176000 kB
DirectMap2M: 6115328 kB
DirectMap1G: 4194304 kB
- MemTotal, 总内存
- MemFree, 空闲内存
- MemAvailable, 可用内存
- Buffers, 缓冲
- Cached, 缓存
- SwapTotal, 交换内存
- SwapFree, 空闲交换内存
使用 vmstat -s 命令和选项, 可以对内存使用情况进行统计, 类似于 /proc/meminfo。
$ vmstat -s
8010408 K total memory
344016 K used memory
5444384 K active memory
1380052 K inactive memory
...
3396492150 interrupts
1327657196 CPU context switches
1548248091 boot time
8811556 forks
top 命令一般用于查看进程的CPU和内存使用情况;当然也会报告内存总量,以及内存使用情况,所以可用来监控物理内存的使用情况。 在输出信息的顶部展示了汇总信息。
top - 15:20:30 up 6:57, 5 users, load average: 0.64, 0.44, 0.33
Tasks: 265 total, 1 running, 263 sleeping, 0 stopped, 1 zombie
%Cpu(s): 7.8 us, 2.4 sy, 0.0 ni, 88.9 id, 0.9 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 8167848 total, 6642360 used, 1525488 free, 1026876 buffers
KiB Swap: 1998844 total, 0 used, 1998844 free, 2138148 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2986 enlighte 20 0 584m 42m 26m S 14.3 0.5 0:44.27 yakuake
1305 root 20 0 448m 68m 39m S 5.0 0.9 3:33.98 Xorg
7701 enlighte 20 0 424m 17m 10m S 4.0 0.2 0:00.12 kio_thumbnail
查看cpu
top 命令一般用于查看进程的CPU和内存使用情况;当然也会报告内存总量,以及内存使用情况,所以可用来监控物理内存的使用情况。 在输出信息的顶部展示了汇总信息。
top - 15:20:30 up 6:57, 5 users, load average: 0.64, 0.44, 0.33
Tasks: 265 total, 1 running, 263 sleeping, 0 stopped, 1 zombie
%Cpu(s): 7.8 us, 2.4 sy, 0.0 ni, 88.9 id, 0.9 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 8167848 total, 6642360 used, 1525488 free, 1026876 buffers
KiB Swap: 1998844 total, 0 used, 1998844 free, 2138148 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2986 enlighte 20 0 584m 42m 26m S 14.3 0.5 0:44.27 yakuake
1305 root 20 0 448m 68m 39m S 5.0 0.9 3:33.98 Xorg
7701 enlighte 20 0 424m 17m 10m S 4.0 0.2 0:00.12 kio_thumbnail
查看端口占用
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:
lsof -i:8080 (端口号)
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 8080(端口号)
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
查看防火墙
查看防火墙是否启用
systemctl status firewalld
开启防火墙
systemctl start firewalld
重启防火墙
systemctl restart firewalld
关闭防火墙
systemctl stop firewalld
查看防火墙某个端口是否开启
firewall-cmd --query-port=[port]/[tcp、udp]
例:
firewall-cmd --query-port=80/tcp
开启端口
firewall-cmd --add-port=[port]/[tcp、udp] [--permanent]
例:
firewall-cmd --add-port=80/tcp --permanent
--permanent:永久生效,没有此参数重启后失效
查看java相关
在Linux下查看所有java进程命令:
ps -ef | grep java
停止特定java进程命令:
kill -9 java进程序号
停止所有java进程命令:
pkill - 9 java
查看日志
tail:
-n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log 实时监控100行日志
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head:
跟tail是相反的,tail是看后多少行日志,而head是查看日志文件的头多少行,例子如下:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
cat:
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep “debug” 查询关键字的日志(常用!~)
vim:
1、进入vim编辑模式:vim filename
2、输入“/关键字”,按enter键查找
3、查找下一个,按“n”即可
退出:按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令
wq! 保存退出
q! 不保存退出