admin管理员组文章数量:1586669
目录
编辑
学习linux好习惯
常见问题 command not found
乱码问题及解决方法
centos中显示utf-8编码格式的shell脚本有中文乱码
系统版本和内核版本
常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)
硬件时钟, 系统时钟, 网络时钟, 时区修改和同步
systemctl命令
Linux查找最近修改的文件
关机
Linux下查看文件和文件夹大小的df和du命令
根据端口号查询进程pid
pstree以树结构显示进程
删除文件
移动文件 修改文件名
jinfo用法
防火墙&开放端口
Centos 7 firewall 命令:
CentOS 7 以下版本 iptables 命令
查看文本文件内容
目录
学习linux好习惯
常见问题 command not found
乱码问题及解决方法
centos中显示utf-8编码格式的shell脚本有中文乱码
系统版本和内核版本
常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)
硬件时钟, 系统时钟, 网络时钟, 时区修改和同步
systemctl命令
Linux查找最近修改的文件
关机
Linux下查看文件和文件夹大小的df和du命令
根据端口号查询进程pid
pstree以树结构显示进程
删除文件
移动文件 修改文件名
jinfo用法
防火墙&开放端口
Centos 7 firewall 命令:
CentOS 7 以下版本 iptables 命令
查看文本文件内容
学习linux好习惯
善于查看man page(manual)等帮助文档
利用好Tab键
掌握好一些快捷键
ctrl + c(停止当前进程)
history(查看命令历史)
ctrl + l(清屏,与clear命令作用相同)
常见问题 command not found
telnet不能用!!!提示:-bash: telnet: command not found
解决方式,重装一下telnet客户端。
centos、ubuntu
yum list telnet* 查看telnet相关的安装包
yum install telnet-server 安装telnet服务
yum install telnet.* 安装telnet客户端
乱码问题及解决方法
出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。
查看当前语言环境echo $LANG
发现为
zh_TW.UTF-8
但是中文语言包没安装或没启用,就会出现乱码输入
LANG=en_US
设置显示为英文,此命令即时生效,但不能永久生效,永久生效看下面。
此时,再次输入命令就可以看到英文报错信息了如果一定需要中文提示,可以这样安装:
yum groupinstall chinese-support
设置本地默认语言环境vim /etc/locale.conf
加入
LANG=“zh_TW.UTF-8”
即时永久生效source /etc/locale.conf
输
locale
可以查看本地语言环境
LANG=zh_TW.UTF-8
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY=zh_TW.UTF-8
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER=zh_TW.UTF-8
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT=zh_TW.UTF-8
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_ALL=
centos中显示utf-8编码格式的shell脚本有中文乱码
问题现象
自己编写的shell脚本,保存的编码格式为utf-8,但是上传到centos中,显示为中为乱码
使用
file shell.sh
查看文件的编码格式shell.sh: UTF-8 Unicode text
解决方法
使用iconv 把文件编码格式转换成为gb2312
iconv -f utf-8 -t gb2312 shell.sh > shell2.sh
再次file shell2.sh查看文件编码
linuxsec2.sh: ISO-8859 text
中文乱码问题得以解决
系统版本和内核版本
Linux查看系统版本和内核版本
常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)
Linux:常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)_琦彦的博客-CSDN博客_linux检查命令
硬件时钟, 系统时钟, 网络时钟, 时区修改和同步
参考Linux: 硬件时钟, 系统时钟, 网络时钟, 时区修改和同步_琦彦的博客-CSDN博客_硬件时钟
systemctl命令
systemctl 提供了一组子命令来管理单个的 unit,其命令格式为:
systemctl [command] [unit]
command 主要有:
start:立刻启动后面接的 unit。
stop:立刻关闭后面接的 unit。
restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。
enable:设置下次开机时,后面接的 unit 会被启动。
disable:设置下次开机时,后面接的 unit 不会被启动。
status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
is-active:目前有没有正在运行中。
is-enable:开机时有没有默认要启用这个 unit。
kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
show:列出 unit 的配置。
mask:注销 unit,注销后你就无法启动这个 unit 了。
unmask:取消对 unit 的注销。
通过 systemctl --help 产看更多
Linux查找最近修改的文件
查找当前目录下.phtml文件中,最近30分钟内修改过的文件。
find . -name ‘*.phtml‘ -type f -mmin -30
查找当前目录下.phtml文件中,最近30分钟内修改过的文件,的详细情况
find . -name ‘*.phtml‘ -type f -mmin -30 -ls
查找当前目录下,最近1天内修改过的常规文件。
find . -type f -mtime -1
查找当前目录下,最近1天前(2天内)修改过的常规文件。
find . -type f -mtime +1
Linux系统文件有三个主要的时间属性,分别是 ctime(change time), atime(access time), mtime(modify time)。
这三个时间很容易混淆,准备深入了解linux的童鞋请区分这三者的区别
atime:Access time,
是在读取文件或者执行文件时更改,即文件最后一次被读取的时间。
说明: st_atime
Time when file data was last accessed. Changed by the
following functions: creat(), mknod(), pipe(),
utime(2), and read(2).
mtime:Modified time,
是在写入文件时随文件内容的更改而更改,是指文件内容最后一次被修改的时间。
说明: st_mtime
Time when data was last modified. Changed by the fol-
lowing functions: creat(), mknod(), pipe(), utime(),
and write(2).
ctime:Change time,
是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改,即文件状态最后一次被改变的时间。
说明: st_ctime
Time when file status was last changed. Changed by the
following functions: chmod(), chown(), creat(),
link(2), mknod(), pipe(), unlink(2), utime(), and
write().
很多人把它理解成create time,包括很多误导人的书籍也是这么写。实际上ctime是指change time。
注意:
1、修改是文本本身的内容发生了变化(mtime)
改变是文件的索引节点发生了改变(ctime)
2、如果修改了文件内容,则同时更新ctime和mtime
3、如果只改变了文件索引节点,比如修改权限,则只是改变了ctime
4、如果使用ext3文件系统的时候,在mount的时候使用了noatime参数则不会更新atime的信息,
即访问文件之后atime不会被修改,而这个不代表真实情况
小知识:这三个 time stamp 都放在 inode 中。若mtime,atime修改,
inode 就一定会改,相应的inode改了,那ctime 也就跟着要改了,之所以在mount option中使用 noatime,
就是不想 file system 做太多的修改, 从而改善读取性能.
查看文件的 atime、ctime 和 mtime。
# ls -lc filename 列出文件的 ctime
# ls -lu filename 列出文件的 atime
# ls -l filename 列出文件的 mtime
关机
shutdown 是安全的方式关闭系统。
- shutdown -k +5 并非真正关机,只是向用户发出警告信息“离关机还有五分钟”
- shutdown -k 向用户发出警告信息“离关机还有一分钟”,默认延时一分钟。
- shutdown -h 关机,默认延迟一分钟。
- shutdown -h 60 60分钟后关机
- shutdown -h now 立刻关机。
- shutdown -h 12:00 在12:00关机
- shutdown -r 重启,默认延迟一分钟。
- shutdown -r 50 重启,延迟50分钟。
- shutdown -r now 立刻重启。
- shutdown -r 22:00 22:00重启。
- shutdown -c 取消一切关机 和 重启命令的执行。
- shutdown -f 重启时跳过磁盘检测。
- shutdown -F 重启时强制磁盘检测。
systemctl
- systemctl halt 关CPU,但是不关电源 。
- systemctl poweroff 关机关电源,真正的关机。
- systemctl reboot 重启
以上关机命令必须在ROOT用户下执行。
在执行关机之前,执行一下sync命令。
- sync 将磁盘缓冲区的数据同步到硬盘中,以免数据丢失。在关机重启前都要执行。
Linux下查看文件和文件夹大小的df和du命令
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小。
[root@localhost ~]# df #列出各文件系统的磁盘空间使用情况
[root@localhost ~]# df -ia #列出各文件系统的i节点使用情况
[root@localhost ~]# df -T #列出文件系统的类型
[root@localhost ~]# df -h #目前磁盘空间和使用情况 以更易读的方式显示
[root@localhost ~]# df -k #以单位显示磁盘的使用情况
[root@rudder ~]# du #查看当前目录下的,所有文件和目录
[root@rudder ~]# du -ah #详细查看当前目录,子目录下的,所有文件和目录
[root@rudder ~]# du test.bz2 #查看单个文件
[root@bsso yayu]# du -h --max-depth=1 work/testing
du 统计文件大小相加
df 统计数据块使用情况
根据端口号查询进程pid
netstat -nptl
netstat -nptl |grep 8082
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
pstree以树结构显示进程
pstree -aup |grep tomcat
删除文件
rm filename (rm -r 删除文件夹 rm -rf 强制删除文件或文件夹)
移动文件 修改文件名
mv a/wenjian1.txt b/file1.txt (移动文件的同时还修改了文件名)
tar 文件、目录打(解)包
tar -xzvf testdir.tar.gz 解压到当前目录下
tar -zxvf testdir.tar.gz -C Downloads/ 解压到指定的Downloads目录下
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩
-j 是否需要用 bzip2 压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)
jinfo用法
jinfo是jdk自带的命令,用来查看jvm的配置参数。通常会先使用jps查看java进程的id,然后使用jinfo查看指定pid的jvm信息
查看所有的参数
jinfo process_id
查看jvm的参数
jinfo -flags process_id
查看java系统参数
jinfo -sysprops process_id
防火墙&开放端口
Centos 7 firewall 命令:
查看已经开放的端口:
firewall-cmd --list-ports
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload #重启firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
CentOS 7 以下版本 iptables 命令
---如要开放80,22,8080 端口,输入以下命令即可【命令方式】
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
---如要开放80 端口,输入以下命令即可【手动方式】
vi /etc/sysconfig/iptables 打开配置文件加入如下语句: -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 重启防火墙,修改完成
然后保存:
/etc/rc.d/init.d/iptables save
重启防火墙,修改生效
service iptables restart
查看打开的端口:
/etc/init.d/iptables status
关闭防火墙
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
重启: service iptables restart
关闭: service iptables stop
状态: service iptables status
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
查看文本文件内容
cat wodeqingshu.txt
more wodeqingshu.txt 可以分页看
less wodeqingshu.txt 不仅可以分页,还可以方便地搜索,回翻等操作
空格--翻页;向下/上的箭头----上下翻行;shift+g--文件末尾;gg--文件开始;
先按冒号,再按“/关键字”---搜索
tail -10 wodeqingshu.txt 查看文件的尾部的10行
程序打出的日志在生产实践中具有非凡的debug的意义
tail -f user.log 实时刷新显示文件的尾部
head -20 wodeqingshu.txt 查看文件的头部20行
Vim编辑器
1.1 Vi简介
vi / vim 是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。
Vim工作模式:
1.2 编辑使用的快捷键
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
yy复制当前行
yw复制一个单词
y$复制光标到结尾
y^复制光标到行首
#yy复制#行
#yw复制#个单词
m,ny复制m到n行内容
粘贴在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴
1.3 Vi编辑定位使用命令
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
o 新建一行
:n 到文本的第n行
1.4 删除键及命令
x 删除光标所在处字符
nx 删除光标所在处后的n个字符
dd 删除光标所在行。ndd删除n行
dG 删除光标所在行到末尾行的所以内容
D 删除光标所在处到行尾的内容
:n1,n2d 删除指定范围的行
1.5 替换和取消命令及键
u undo,取消上一步操作
Ctrl + r redo,返回到undo之前
r 替换光标所在处的字符
R 从光标所在处开始替换,按Esc键结束
Shift+ zz 保存退出,与“:wq”作用相同
v 进入字符可视模式(选中)
V 或 Shift + v 进入行可视模式(整行选中)
Ctrl + v 进入块可视模式(按照块选中)
1.6 查找
命令模式下,输入 /word 后回车,即查找word,
按 n 查找下一个匹配单词,按 N 查找上一个匹配单词。
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
清理空间
清理内存
# 一.查看内存
free -h
# 二.清理缓存
# (1)清理缓存前先用 sync 命令
sync
# (2)输入手动释放内存的命令
echo 3 > /proc/sys/vm/drop_caches
# 0 – 不释放
# 1 – 释放页缓存 (数字1是用来清空最近访问过的文件页面缓存)
# 2 – 释放dentries和inodes (数字2是用来清空文件节点缓存和目录项缓存)
# 3 – 释放所有缓存 (数字3是用来清空1和2所有内容的缓存。)
清理磁盘
# 一.查看磁盘
# (1)查看磁盘使用情况
df -h
# (2)进入磁盘100%使用的分区,查看目录使用情况
du -h --max-depth=1
# (3)指定删除后缀文件
find . -name '*.txt' -exec rm -rf {} \; 如递归删除.txt格式的文件
# 二.docker
(1)docker空间查看
docker system df
# (2)docker清理
# 普通清理
docker system prune
# 深度清理,谨慎使用
docker system prune -a
# (3)未使用的镜像清理
docker image prune -a
# (4)删除未被使用的数据卷
docker volume prune
# (4)删除状态为Exited的容器,删除未使用的镜像/容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`
docker image prune -a -f; docker container prune -f;
版权声明:本文标题:Linux常用命令速查册,再也不用费脑细胞了 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727986726a1141125.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论