Linux 常用操作命令
解压命令
我们知道,在windows环境下,常见的压缩包格式有:*.rar,*.zip,*.7z等,与之对应的,在Linux操作环境下,也有自己的专属压缩包格式:以*.gz作为后缀名;
另外, 在Linux下,解压只能通过命令来完成,解压命令如下:
tar -zxvf 待解压的包名全称(带后缀名)
说明:解压,需要先切换到*.gz文件所在目录才行。
目录命令
关于切换目录的命令与windows黑窗口下完全一致;
网络命令
与windows一致,常用的就是:ping和telnet
发送HTTP请求
get请求
curl命令默认下就是使用get方式发送http请求;
curl www.baidu.com
说明:curl也可以用来测试网络是否可以正常访问,与telnet效果相同。
想传参的话直接在后面加参数就行了
curl www.baidu.com?name=marydon&password=123
post请求
使用-d参数(form表单请求),形式如下:
curl -d "param1=value1¶m2=value2" http://www.baidu.com
或者
curl http://www.baidu.com -d "param1=value1¶m2=value2"
json请求,形式如下:
curl -i -k -H "Content-type: application/json" -X POST -d '{"name":"marydon","text":"12345678"}' http://39.156.66.18:8080/sign
说明:
请求地址:URL,可以使用双引号或者单引号将请求地址包起来,也可以不包;
请求地址和请求参数的顺序可以调换,谁在前面都没有影响。
操作MySQL数据库
登录
mysql -h 服务器 -u 用户名 -p密码
选择数据库实例
use 数据库名称
执行SQL
select * from table_name limit 1;
执行结果将会被打印出来
将SQL执行结果导出:
mysql -h ip -u loginName -ploginPassword -Pport -e "sql语句" > /目录/test.txt
退出MySQL服务器
退出命令:\q
tomcat命令
启动命令
如果仅仅是启动的话,很简单;
首先,我们需要切换到tomcat_home/bing目录下,执行以下命令即可。
./startup.sh
但是,这样虽然能启动,我们却无法看到日志信息。
打印日志命令
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
tailf ../logs/catalina.out
这是通过两步才完成,能不能合并成一步呢?
方式一:
./startup.sh; tailf ../logs/catalina.out
方式二:
./startup.sh && tail -f ../logs/catalina.out
2022年9月20日19:26:43
也可以先启动tomcat
再回退上一级
cd ..
再进入logs目录
cd logs
最后,再输出日志
tail -f catalina.out
关闭tomcat
同样地,需要切换到tomcat的bin目录下,运行:
./shutdow.sh
2022年9月20日19:20:42
如果提示权限不足
使用此命令:
chmod u+x *.sh
退出正在执行的命令
快捷键:Ctrl+c/Ctrl+Shift+C
或者,输入命令:esc,再按回车键
如果命令输入错误,我们同样可以按Ctrl+c退出当前行
重启网络
systemctl restart network
配置dns
echo nameserver 域名 > /etc/resolv.conf
这样,会把百度写入resolv.conf文件中,但需要注意的是:即使插入成功,也并不意味着一定就能访问该域名。
技巧:与windows一样,可以使用方向键,上翻所录入的命令历史记录。
2021-07-10
查看历史命令记录
history
会罗列出所有历史命令记录
另外,当我们不想输入重复的命令时,可以使用方向键向上(↑) 、向下(⭣),找到想要的命令,并按回车即可执行。
2021年9月8日09:58:03
查看系统当前时间
查看日期和时间
date
查看系统时间详情
timedatectl
修改系统当前时间
修改时分秒
如果linu服务期不连互联网的话,就会造成服务器时间比互联网时间(真正时间)滞后的问题。
如果没有时间服务器来自动同步的话,我们只能隔一段时间手动修改linux的时间。
具体操作如下:
date -s HH:mm:ss
说明:小时需要使用24小时制。
修改日期和时间
timedatectl set-time "yyyy-MM-dd HH:mm:ss"
如果执行后,提示上述内容,就表示:已开启时间自动同步。
我们只能使用上面的date -s修改时分秒。
设定系统时间计算方式
0表示使用utc时间计算方式;1表示使用local时间计算方式。
timedatectl set -local-rtc 0
timedatectl set -local-rtc 1
查看系统所在时区
查看系统当前时区
date -R
+0800,表示东八区;
-0800,表示西八区。
显示系统的所有时区
timedatectl list-timezones
修改系统所用时区
timedatectl set-timezone "Asia/Shanghai"
跳转目录
说明:cd命令必须是小写,如果用大写的话,无法识别。
跳转到根目录下
cd /
跳转到指定目录下(当前目录与跳转目录不在同一个父级目录下)
当前目录与跳转目录不在同一个父级目录下时,需要使用绝对路径。
跳转到下级目录
要跳转目录在当前目录的下面(子目录或者子孙目录)
跳转到上级目录
要跳转目录在当前目录的下面(父级目录或者祖父级目录)
另外,如果使用Xftp的话,按退格键Backspace,可以退到上级目录。
连续按退格键,可以一直退到根目录下。(根目录为:/)
查看文件内容
tail 文件名.后缀名:查看指定文件最后10行内容。
cat 文件名.后缀名:查看指定文件的所有内容。
关于文件路径的说明
如果,我们要运行的文件在当前命令所在的目录里面,我们需要可以使用相对路径。
如上图所示,connect-standalone.sh文件在kafka/bin目录下,connect-standalone.properties文件在kafka/config目录下。
由于当前要执行的命令所在的目录为kafka,所以,启动sh文件所需的配置文件使用相对路径就可以了。
当我们要运行的文件不在当前命令所在的目录里面,我们需要可以使用绝对路径。
创建文件并输入内容
echo -e "connector\ntest" > test.txt
将connector\ntest重写到test.txt文件当中,如果test.txt不存在就会被自动创建(原文件内容会被覆盖)。
如果不带参数"-e"。
清空文件
往文件后面追加内容
说明:
一个>:原文件内容将被覆盖。
两个>:会在原文件内容基础之上,追加内容。
关于linux命令的说明
查找以固定字母开头的linux命令
当我们忘记命令的时候,我们可以使用关键词来检索命令全称。
比方说:我想使用以“n”开头的命令,但是,不记得是那个命令了,或者,想要查看以“n”开头的命令,都有什么?
输入:n,然后,按两次Tab键。
会出现上面这个提示,是否展示102种可能(意思是:以n开头的linux命令一共有102种)。
输入y后,将会将所有以“n”开头的命令罗列出来。
输入:no,连按两次Tab键,将会出现所有以“no”开头的命令。
查看指定命令的用法
命令 --help
以nohup为例
命令自动补全
比如,我想要输入:nohup,但不想手动写全,那我们就可以输入:noh,然后按Tab键就会自动补全。
输入not,再按Tab
文件目录自动补全
当我们要输入的命令为当前操作目录下的文件目录时,如果文件夹具有唯一性,可以按Tab建进行文件夹的补全操作。
当我想要输入:kafka-log目录时,除了手动写全外,还可以使用自动补全操作。
输入kafka,并按Tab键,文件目录会被自动补全。
文件名自动补全
下面进行举例说明:
如上图所示,比方说,我们想要查看nohup.out文件内容时,我们可以在输入:tail -f no之后再按Tab键即可。
按指定名称检索进程是否存在(正在运行)
ps -ef |grep 要搜索的内容
详细解说:
ps命令将某个进程显示出来
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
PS是LINUX下最常用的也是非常强大的进程查看命令
grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令,如果cmd的命令太长,我们可以通过最后一行执行的内容来查看。
通过最终执行的内容来判断是哪个程序。
查看指定端口被谁占用(根据端口号查询对应的PID和进程名称)
netstat -nltp |grep 端口号
-n: 显示数字格式的地址和端口号,而不是尝试解析主机名、服务名等。
-l: 仅显示监听(listening)的套接字。
-t: 显示 TCP 连接。
-p: 显示每个连接的进程 ID 和程序名称。
因此,netstat -nltp 主要用于显示系统上所有正在监听的 TCP 端口以及它们对应的进程信息。这对于查找哪个进程正在使用特定的端口非常有用。
如果没有输出内容,就说明端口没有启用。
netstat -natp |grep 端口号
-n: 显示数字格式的地址和端口号,而不是尝试解析主机名、服务名等。
-a: 显示所有活动的网络连接和监听的套接字。
-t: 显示 TCP 连接。
-p: 显示每个连接的进程 ID 和程序名称。
因此,netstat -nltp 主要用于显示系统上所有正在监听的 TCP 端口以及它们对应的进程信息。这对于查找哪个进程正在使用特定的端口非常有用。
如果没有输出内容,就说明端口没有启用。
根据进程PID查看相关进程信息
netstat -natp|grep PID
netstat -natp:
netstat:显示网络连接、路由表、接口统计等网络相关信息。
-n:显示数字格式的地址和端口号,不进行DNS解析。
-a:显示所有活动的网络连接和监听的套接字。
-t:显示TCP连接。
-p:显示每个连接的进程ID和程序名称。
这个命令会列出系统上所有活动的TCP连接以及与之关联的进程信息。
grep 23358:
grep:文本搜索工具,用于搜索包含特定模式的行。
23358:这是要搜索的模式,即进程ID。
grep 23358会从上一步netstat -natp的输出中筛选出包含“23358”的行。
根据进程PID查询网络连接数
netstat -natp|grep PID|wc -l
wc -l:
wc:计算文件中的行数、字数和字节数。
-l:仅计算行数。
wc -l会计算上一步grep命令的输出行数,从而得知与进程ID 23358相关的TCP连接数量。
根据进程PID查看所执行的命令
如上图所示,当我查看9092端口被谁占用时,得到的答案是:java。
公司测试服务器上启动的java程序那么多,我该如何知道是哪个java程序在使用9092端口呢?
ps -ef|grep PID
如上图所示,我们根据进程PID,就能检索到是哪个命令开启了该进程。
这样我们就知道到底是谁在占用指定端口了。
根据进程ID杀掉进程
kill PID
强制杀掉进程
kill -9 PID
查看目录下的内容
查看目录下的内容有三种执行方式。
第一种:查看当前目录下的内容。
直接输入:ls,并按Enter键。
第二种:查看当前目录下子目录或子孙目录内容。
ls 当前目录下的子目录或者子孙目录名称
第三种:查看其他目录内容。
ls 要查看的目录内容所在绝对路径
当要查看的其他目录与当前命令所在目录不存在上下级关系时,需要使用绝对路径。
解压文件
解压gz文件
tar -zxvf 文件名.tar.gz
下面是这个命令各部分的解释:
tar: 这是主命令,代表 "Tape ARchive",用于处理归档文件。
-z: 这个选项告诉 tar 命令要处理的文件是一个 gzip 压缩过的文件(即 .gz 扩展名)。
-x: 这个选项告诉 tar 命令要解压文件。
-v: 这个选项是 "verbose" 的缩写,意味着命令在执行时会显示详细的信息,如正在解压的文件名等。
-f: 这个选项后面通常会跟着归档文件的名称,用于指定要处理的文件。
nginx-1.26.0.tar.gz: 这是要解压的归档文件的名称。
当你运行 tar -zxvf nginx-1.26.0.tar.gz 时,系统会解压 nginx-1.26.0.tar.gz 文件,并在当前目录下创建一个新的目录:nginx-1.26.0。
解压zip文件
说明:在Linux系统中,你可以使用unzip命令来解压.zip格式的压缩文件。如果你还没有安装unzip工具,你可以通过你的包管理器来安装它。
解压.zip文件到当前目录:
unzip filename.zip
解压.zip文件到指定目录:
unzip filename.zip -d /path/to/directory
使用-d选项后面跟上目标目录的路径,可以将文件解压到指定的目录中。
查看.zip文件中的内容而不解压:
unzip -l filename.zip
使用-l选项可以列出.zip文件中的所有文件和目录,而不实际解压它们。
解压.zip文件并覆盖已存在的文件:
unzip -o filename.zip
使用-o选项可以在解压过程中覆盖已存在的文件而不提示。
2024-06-14 12:22:15
vim模式
使用vim打开文件
vim /etc/profile
按Enter键即可打开指定文件
输入i可以进入插入(编辑)模式。
这样,我们就可以编辑当前文件了。
保存并退出vim:先按Esc键退出插入模式,再输入:wq,最后按Enter。
不保存并退出vim:先按Esc键,再输入:q!。
如果已经编辑,按Esc,再按:q的话,会有提醒:
如果没有编辑的话,直接输入:q和Enter即可退出vim。
查看机器是64位还是32位
uname -m
如果输出是x86_64,那么你的系统是64位的;
如果输出是i686或i386,那么你的系统是32位的。
查看操作系统信息
cat /etc/os-release
2024-08-13 10:45:46
查看CPU信息
lscpu
2024-06-25 10:23:09
屏幕来到鼠标光标所在行
在XFtp中,快捷键Ctrl+F。
2024-06-25 17:28:13
清空屏幕内容
clear
2024-09-05 10:50:08
jps命令
可以查询到所有正在运行的java进程。
查看磁盘所用存储空间
查看磁盘分区信息
fdisk -l
查看文件夹所占空间
du -sh 文件夹所在路径
文件夹路径既可以使用相对路径,也可以使用绝对路径。
如果只有du -sh命令,没有文件夹路径的话,查看的是当前文件所占用的空间。
查看文件夹可用空间
如上图所示,/home文件夹的总空间为850G,所用空间401G,可用空间为450G。
2024-09-05 15:26:44
检索指定文件所在路径
sudo find / -name 文件名
当没有输出内容时,说明该文件不存在。
如果文件存在,就会罗列出所有存在该文件所在的绝对路径。
启动redis
方式1:
cd /data/redis/bin
./redis-server ../conf/redis.conf
方式2:推荐使用
/data/redis/bin/redis-server /data/redis/conf/redis.conf
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/14136835.html