目录
Linux命令下常用的快捷键:
TAB :命令补全
Ctrl+ C :杀死当前进程
Ctrl + A:光标移动到命令行首
Ctrl + E:光标移动到行尾
Ctrl + R: 查找历史执行的命令,回车后即执行所查找到的命令
以单词为单位移动光标:
快捷键:Ctrl + →
快捷键:Ctrl + ←
tail命令:
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
1. tail [filename]
tail 默认查看文件末尾10行,相当于:tail –n 10 [filename]
2. tail –f [filename]
实时查看日志信息
3. tail -c 10 [filename]
显示文件的最后 10 个字符
4. tail -n 50 [filename]
显示文件的最后 50 行数据
head命令:
指定显示头部内容的文件列表
-n<数字>:指定显示头部内容的行数;
-c<字符数>:指定显示头部内容的字符数;
-v:总是显示文件名的头信息;
1. head -n -v 20 [filename]
grep命令:
(-i 或 --ignore-case : 忽略字符大小写的差别。)
grep命令用于查找文件里符合条件的字符串。
1. grep "字符串" [filename]
查找文件名为filename的文件中包含字符串的数据
2. grep -c "字符串" [filename]
统计文件名为filename的文件中包含字符串的行数
3. grep “字符串”[filename] | head -10
只取前面10行匹配的结果
4. grep -w "单词" [filename] eg: grep -w cpu test.sh
匹配单词
5. grep $'\t'字符串$'\t' [filename] eg:grep $'\t'2$'\t' file.log
grep匹配tab符:$'\t'
有用命令:
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
ls | grep a.log
ll | grep a.log
grep设置查找颜色高亮( grep --color=auto ‘size’ a.txt)
问题:grep命令执行后匹配的结果不能高亮显示 解决方法:
step1: vim ~/.bashrc //在文件里# User specific aliases and functions这部分下面添加如下语句 alias grep='grep --color=auto' 1 2 3 4 5
step2: source ~/.bashrc 1
step3:测试成功
转自:https://blog.csdn.net/salove_y/article/details/79187202?utm_source=copy
curl命令:
curl www.baidu.com
curl [url] –X -POST –d ‘data=********&a=dd’
curl url -X POST
eg: curl http://localhost:8081/git/demo/tableRestService/queryTree -X POST
cat命令:
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的
1. cat [filename]
显示整个文件
2. cat -n [filename]
显示文件内容并对行号编号 (-b 对空白行不编号; -s 当遇到有连续两行以上的空白行,就代换为一行的空白行)
3. cat > filename
从键盘创建一个文件, 只能创建新文件,不能编辑已有文件.
4. cat file1 file2 > file
将几个文件合并为一个文件
有用命令:
1、cat a.txt 打印a文件所有内容
2、tail -n 1000 a.txt 打印a文件最后1000行的数据
3、tail -n +1000 a.txt 打印a文件第1000行开始以后的内容
4、head -n 1000 a.txt 打印a文件前1000的内容
wc命令:
文本统计工具,全城word count。使用方法很简单。能将文件的行数、字数、字节数打印出来。
1、wc -l test.txt
统计test.txt中文本的行数。
2、wc -c test.txt
统计字节数
3、wc -w test.txt
统计字数,我所理解的字就是一个单词,单词都是又空格、tab键、换行符来分割的。
4、wc -m test.txt
统计字符数。这和字节数是有区别的,因为一个中文字符会占3个字节。
find命令:
用来查找特定文件,在linux下一切皆是文件,因此十分有用。
基本格式:find path expression [-exec command {}\;] 会默认遍历到子目录。
1、find /home/work/ -name "*.cpp"
查找/home/work/目录下,所有文件名以.cpp结尾的文件,当然目录也会匹配出来。
2、find /home/work/ -name -type f "*.cpp"
查找/home/work/目录下,所有文件名以.cpp结尾的普通文件。
3、find /home/work/ -iname "*.cpp"
-iname 表示忽略大小写,-name表示不忽略大小写,精确匹配。
4、find /home/work/ /etc/ /usr -name "*.cpp"
查找多个目录下的.cpp文件
扩展 : find /home/work/ /etc/ /usr -name "[ab].cpp" 查找a.cpp或者b.cpp文件
find /home/work/ /etc/ /usr -name "?.cpp" "?"表示任意一个字符
5、 find /home/work/ -size+20M
查找大于20M的文件,-20M表示小于20M
6、find /home/work -atime -5
查找5天内访问过的文件, +5 表示5天内没有访问过的文件。
扩展:用stat命令可以获得相关的时间戳。atime表示最近一次访问的时间,mtime表示最近一次内容修改的时间,ctime表示最近一次属性修改的时间,单位是天。amin, mmin,cmin单位是分钟。
7、find /home/work -atime -5 -a -size -1M
查找5天访问过的并且大小小于1M的文件。
-a 与连接 , -o 或连接, -not 条件取反
echo命令:
echo打印换行方法:
echo要支持同C语言一样的\转义功能,只需要加上参数-e,如下所示:
echo -e "text1\ntext2"
输出结果
text1
text2
vim界面下命令:
1. 设置行号
在命令模式下,输入set number
:set number
按下回车就显示行号
2. 关闭行号
在命令模式下,输入set nonumber
:set nonumber
按下回车行号就没行号
alias命令:
取别名
用法:
alias cd=’cd f://’
查看所有alias:直接输入alias回车
取消别名:unalias cd
alias的设置改为永久有效:
在~/.bash_profile添加
vim ~/.bash_profile,最后source ~/.bash_profile即可
scp命令:
远程复制命令
可将远程服务器文件复制到本地路径,或将本地文件复制到远程服务器路径。
1. 远端拷贝到本地
scp 远端用户名@远端ip : 路径文件 本地路径
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
scp test.200:/home/jar/srv_tomcat/test/webapps/test/WEB-INF/classes/org/jar/controller/TestController.class /cygdrive/f/test/
scp -r test.200:/home/jar/srv_tomcat/test/webapps/test /cygdrive/f/test/
报错:本地路径不存在
1. 本地路径不对,或者是没有创建f盘下的test目录
2. 所在位置不对,使用这个命令时,不用在远端操作,即,不用ssh test.200命令进入远端
2. 本地拷贝到远程
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
scp -r /cygdrive/f/dinner_server/test test.200:/home/jar/srv_tomcat/test/webapps/
(-r 命令即:递归拷贝)
awk常用命令:
1. 每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
2. 使用","分割
awk -F , '{print$1,$2}' log.txt
CP命令:
-r :递归持续复制,用于目录的复制行为
history命令:
history命令:用于显示历史记录和执行过的指令命令。
history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!
执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2
。
history命令:是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE
进行控制。默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。
防火墙有关命令:
防火墙iptables和firewalld
centos7 Failed to start iptables.service: Unit not found 防火墙:在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理
(来着:centos7 Failed to start iptables.service: Unit not found 防火墙 - 小猪哥哥 - 博客园)
添加:
# 开放80端口,即让防火墙不拦截,让外面可访问
firewall-cmd --zone=public --add-port=80/tcp --permanent
(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
重新载入:
firewall-cmd --reload
查看:
#查看8080端口是否开放
firewall-cmd --query-port=8080/tcp
# 返回yes表示开放了8080端口,外面可以访问8080
# 返回no表示8080没开放,无法访问到
删除:
firewall-cmd --remove-port=80/tcp --permanent
开启防火墙:
systemctl start firewalld.service
关闭防火墙:
systemctl stop firewalld.service
查看所有端口:
# 查询所有开放的端口。
[root@vm-1 opt]# firewall-cmd --list-ports
5432/tcp 3306/tcp# 查询所有开放的端口。持久
[root@vm-1 opt]# firewall-cmd --list-ports --permanent
5432/tcp 3306/tcp
查看运行状态:
firewall-cmd --state
//running 表示运行
linux 环境变量设置:
/etc/profile 与 ~/.bash_profile 文件是配置环境变量文件
区别:
/etc/profile 是系统整体设置 ,对系统内所有用户有效
~/.bash_profile 只对当前登录用户的设置,只对该用户有效
环境变量的查看:(可查看环境变量是否生效)
1. 查看单个环境变量,使用echo命令:
echo $PATH
2. 查看所有环境变量, 使用env命令:
env
压缩和解压:
压缩成zip包:
将dist目录压缩成dist.zip : zip -r dist.zip dist
压缩成tar包、tar.gz包:
tar cvf /dir/file.tar /dir/file #仅打包,不压缩
tar zcvf /dir/file.tar.gz /dir/file #打包后,以gzip压缩
解压:
tar xvf backup.tar
tar zxvf /dir/file.tar.gz
卷挂载:
挂载卷命令
1. 查看可挂载的磁盘: lsblk
2. 初始化磁盘: sudo mkfs -t ext4 /dev/vdb
3.挂载卷:sudo mount /dev/vdb /u01
注意:/u01文件夹必须是空的,不然挂载上去之前u01里面的东西就无法显示,所以一般mount时都是新建一个文件夹,总之就是要保证它为空
yum命令:
yum也是包管理,也是管理rpm包的,
与rpm 区别: rpm只能对已有的包进行安装,yum可以从服务器上拉rpm包进行安装
安装unzip软件: yum install -y unzip
-y(当安装过程提示选择全部为 "yes")
移除包: yum remove pam-devel
修改yum源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://ip/CentOS7.repo
yum clean all
yum makecache
du命令:
du命令可以查看指定目录或文件所占用的磁盘空间。
查看当前目录下各文件大小:
du -ah --max-depth=1
或
du -sh ./*
du命令参数说明:
-h:以易读方式显示文件大小
-s:显示目录占用磁盘空间大小,不显示其下子目录和文件占用的磁盘空间大小
-a:显示目录中所有文件大小,还显示其下目录和文件占用磁盘空间的大小
修改linux密码:
在root用户登录的情况下,执行以下指令,进入密码修改界面# passwd
passwd命令后不加用户名,表示修改当前用户的密码
输入新密码即可,无需重启Linux系统。
# cat /etc/passwd
查看当前所有用户,自己创建的用户在最后
关于ssh配置:
/etc/hosts.deny
查看linux操作记录:
who -b : 查看最后一次(上次)系统启动的时间
[root@centos7 logs]$ who -b
系统引导 2023-01-29 13:21
last :查看最近登录的用户及ip
last -n 10: 查看最近10条登录用户及ip
[root@centos7 logs]$ who
root pts/0 2023-01-29 14:09 (192.168.1.100)
root pts/1 2023-01-29 14:09 (192.168.1.100)
root pts/2 2023-01-29 13:58 (192.168.1.100)
root pts/3 2023-01-29 13:58 (192.168.1.100)
uname -a :显示操作系统内核信息
其他:
查看端口占用情况: lsof -i:5432 或者 netstat -an|grep 5432
查看磁盘空间: df -kh
查看某个端口是否打开: telnet 127.0.0.1 8080
查看端口监听情况:
netstat -anutp
[root@vm-1 db_1]# netstat -anutp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24141/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4877/sshd: /usr/sbi
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 29756/postgres
linux 释放内存空间:Linux释放内存空间 - 小得盈满 - 博客园
0:0是系统默认值,默认情况下表示不释放内存,由操作系统自动管理
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
echo 3 > /proc/sys/vm/drop_caches