Linux常用命令

Linux启停(cd /etc/centos-release查看版本)

sudo -l 查看sudo的权限

shutdown 选项(-r 重新启动,-c 取消关机计划)
shutdown –h now 立马关机
shutdown –h 20:25 系统会在今天20:25关机
shutdown –h +10 十分钟后关机
shutdown –r now 系统立马重启
shutdown –r +10 系统十分钟后重启
reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now 和 poweroff

查看CPU信息(型号)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

8 Intel® Xeon® CPU E5410 @ 2.33GHz

(看到有8个逻辑CPU, 也知道了CPU型号)

getconf LONG_BIT

32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

cat /proc/cpuinfo | grep flags | grep ’ lm ’ | wc -l

8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)

原文链接:https://blog.csdn.net/xiaomin1991222/article/details/50979606

Linux防火墙

启动: systemctl start firewalld
查看状态: systemctl status firewalld 或者 firewall-cmd --state
停止: systemctl disable firewalld
禁用: systemctl stop firewalld 或则 systemctl mask firewalld
systemctl unmask firewalld

如果通过以上步骤还连接不上,请检查防火墙是否已经关闭。
CentOS6关闭防火墙使用以下命令:

// 临时关闭
service iptables stop
// 禁止开机启动
chkconfig iptables off

CentOS7关闭防火墙使用以下命令:

// 临时关闭
systemctl stop firewalld
// 禁止开机启动
systemctl disable firewalld cd: 路径 进入某个某个文件(或者路径)

Linux文件管理

pwd 查看当前所在文件夹

mkdir 文件名 创建文件夹
mkdir -p 递归创建文件夹
mkdir -p a/b/c/d 递归创建文件目录

ls -la 查看目录中的文件(-a显示隐藏文件, -l 显示详细信息)
ls -lrt 按时间显示文件 (l表示详细列表,r表示反向排序,t表示按时间排序)
ls -lha 以人性化的方式显示内容
ls -R 递归展示所有文件。
-A:查看隐藏文件。(显示.开头的那些文件,与a不同的是不显示.和…)。“注意:.表示当前文件夹 …表示上一级文件夹”

mv 被移动文件 移动目标文件
mv -i: 可以重命名文件名
-i提示是否要覆盖原文件
-f 强制直接移动而不询问
-u:若目标文件已经存在,且源文件比较新,才会更新

sudo apt install tree :安装tree
tree :查tree文件夹目录
tree -d :只显示目录
tree ~ :详细的文件目录信息

cp -r :原文件 目标文件 复制一个文件
-a: 指复制所有的目录
-d: 若源文件为连接文件(link file),则复制连接文件属性 而非文件本身
-f: 强制(force),而强制复制
-i: 若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l: 建立硬连接(hard link)的连接文件,而非复制文件本身
-p: 与文件的属性一起复制,而非使用默认属性
-r: 递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件

Linux文件删除

rm -f : 强制删除
rm -r: 递归地删除目录下的内容
rm -i: 交互模式,在删除前询问用户是否操作
rm -rf 递归且强制删除文件,不提示(慎用)

rmdir -p 递归删除空目录

Linux文件查找

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

命令含义
find ./ -name test.sh查找当前目录下所有名为test.sh的文件
find ./ -name ‘*.sh’查找当前目录下所有后缀为.sh的文件
find ./ -name “[A-Z]*”查找当前目录下所有以大写字母开头的文件
find /tmp -size 2M查找在/tmp 目录下等于2M的文件
find /tmp -size +2M查找在/tmp 目录下大于2M的文件
find /tmp -size -2M查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M查找当前目录下大于4k,小于5M的文件
find ./ -perm 777查找当前目录下权限为 777 的文件或目录

链接:https://www.jianshu.com/p/9708458d0061

(1)查找 48 小时内修改过的文件
find -atime -2

Linux中的history

(1)history 命令用于显示历史执行过的命令,格式为“history [-c]”。 1000 条命 令记录。
如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的 HISTSIZE 变量值。
在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。

(2)假如我们前几天在命令行中输入了一个比较复杂命令,但是现在我们仅仅回忆起部分命令。那么我们可以通过管道(|)使用 grep 命令来搜索历史记录命令:

history | grep “python”

这条命令执行之后,我们就可以找到我们曾经所运行过的所有包含 python 关键字的命令,然后我们就可以通过 ! 来重新执行这条命令。

Linux查看系统信息

查看登录过的用户信息
last
last -n user
who /var/log/wtmp

tr 命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
uptime(也可以直接输入w)用于查看系统的负载均衡
who 用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
last 命令用于查看所有系统的登录记录,格式为“last [参数]”。
stat 命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。(用于查看文件的权限、大小、修改等信息)
diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件

lsb_release -a,即可列出所有版本信息(适合所有的Linux发行版本)

通过 ssh -p 22 用户名@IP地址 :连接linux服务器

查看环境变量 env
系统运行时间 uptime

Linux统计指定## 标题文本情况(wc)

wc 命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

date 查看时间
date -s “yyyy-mm-dd HⓂ️s” 修改Linux时间

设日期
date -s 20091112
设时间
date -s 18:30:50

file 查看文件类型
file -b 不显示文件名,只显示文件类型

alias:查看某些命令的别名
“定义别名的意义在于,可以用别名,代替某些组合命令,减少敲代码;”
查看别名:alias
定义别名:alias la= ‘ll -a’
取消别名:unalias la

Linux其他命令

date 查看时间

cal -y 选项可以查看一年的日历

-f  显示UID,PPIP,C与STIME栏位。
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
这条命令的意思是显示有关redis有关的进程

ln 软连接
ln -s 被链接的源文件 链接文件名 通俗的讲就是类似于Windows下的快捷方式,没有-s选项建立的是硬链接文件
源文件要使绝对路径,不能使用相对路径

查看环境变量 env
系统运行时间 uptime

Linux查看日志/文件

tail -f log.txt : 循环查看日志
tail -500f log.txt 查看最后500行日志
cat file :查看短文件
less file :查看长文件
head log.txt :显示前10内容
head -n 20 log.txt :显示前20行内容
nohup 不间断命令

cat -b 输出非空输出的行号
cat-n 输出所有行的行号
cat /root/.bash_history 历史操作命令记录文件

tac :查看文件中所有内容,倒着查看。

Linux文件传输SCP

1、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
2、上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp -r /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
3、从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
4、上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

scp 的可选参数:

-p 拷贝文件的时候保留源文件建立的时间。

-q 执行文件拷贝时,不显示任何提示消息。

-r 拷贝整个目录

-v 拷贝文件时,显示提示信息。

Linux磁盘和内存查看

内存查看

free -mh 以人性化 的方式查看内存情况

磁盘和目录空间

df -lh 显示磁盘剩余空间(-h 以人性化的形式显示文件大小)
df -T 显示磁盘类型

查看文件大小

du -h[目录名] 显示目录的文件大小

du -sh /* 查看哪个目录最大,一步一步的查找大文件

du -h a.txt:会显示指定文件a.txt的占用空间大小。

du -h –-max-depth=1 /var/log/* 的意思是查看/var/log路径下文件的大小
使用du -h --max-depth=1查找最大的文件 查看指定目录的磁盘占用情况,默认是当前目录

  • s:指定目录占用大小汇总
  • h:带计量单位
  • a:含文件
    –max-depth=1 :子目录深度
  • c:列出明细的同时,增加汇总值。)

df查看磁盘使用率

-h:友好方式展示
-a:显示全部的文件系统;
注意:“df -h用于显示磁盘空间的使用情况,以及剩余的磁盘空间大小。”

Linux进程情况

ps:将某个进程显示出来

ps -ef|grep java 查看进程信息

ps aux 查看进程的详细情况
(a 显示总段上所有进程 u 显示进程的详细状态 x 显示没有控制的进程)

top 动态的显示运行中的进程并排序

htop 有颜色动态的显示运行中的进程并排序htop

kill [-9]进程代号 表示强行终止
执行 kill 5529 命令即可;若知道服务的名称,则可以使用 killall 命令进行关闭

-e  此参数的效果和指定"A"参数相同。
-f  显示UID,PPIP,C与STIME栏位。

Linux用户和文件权限

Linux权限

chown用法:

用来更改某个目录或文件的用户名和用户组。

chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径)

例1:chown root:root /tmp/tmp1

就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组)。

例2:chown -R root:root /tmp/tmp1

就是把tmp下的tmp1下的所有文件的属组都改成root和root。

chmod用法:

用来修改某个目录或文件的访问权限。

语法:chmod [-cfvR] [–help] [–version] [who] [+ | - | =] [mode] 文件名

例子:chmod -R 777 /home/linux

chown -R weblogic:bea /usr/bea

-R : 处理指定目录以及其子目录下的所有文件

linux用户和组管路

groupadd 组名 添加组

cat /etc/group 确认组信息
useradd -m -g 组
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-g, --gid GROUP 新账户主组的名称或 ID 指定用户所在组,否则会建立一个同名的组
-G, --groups GROUPS 新账户的附加组列表
-R 处理指定目录以及其子目录下的所有文件
更改文件权限(包括子目录)

Linux打包文件

tar -cvf 打包文件.tar 被打包文件/路径…

tar -xvf 解压

x 解开档案文件; v 列出解档详细过程,显示进度f 指定档案文件名称,f后面一定是.tar文件,必须放在最后面;-C :将解压的文件解压到指定的路径

文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

img
链接:https://www.jianshu.com/p/9708458d0061

Linux相关命令(sz/rz)

1. 【安装命令】:yum install lrzsz
  2. 【从linux服务器发送文件 filename 到本地 wndows】:sz filename。 这时会弹出窗口让你选择将文件保存到本地的位置
  3. 【从本地 wndows 上传文件到 linux 服务器】:rz 。 这时会弹出窗口让你选择上传的文件

whereis和which

  1. whereis 命令

whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。

常用参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

实例:

(1)查找 locate 程序相关文件
whereis locate

(2)查找 locate 的源码文件
whereis -s locate

(3)查找 lcoate 的帮助文件

whereis -m locate

which 命令

在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。

which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

常用参数:
-n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

实例:
(1)查看 ls 命令是否存在,执行哪个
which ls

(2)查看 which
which which

3)查看 cd
which cd(显示不存在,因为 cd 是内建命令,而 which 查找显示是 PATH 中的命令)

查看当前 PATH 配置:
echo $PATH

或使用 env 查看所有环境变量及对应值

Linux中的RPM和YUM

RPM 是为了简化安装的复杂度,而Yum 软件仓库是为了解决软件包之间的依赖关系。

RPM 有点像Windows 系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系

安装软件的命令格式 rpm -ivh filename.rpm

升级软件的命令格式rpm -Uvh filename.rpm

卸载软件的命令格式rpm -e filename.rpm

查询软件描述信息的命令格式rpm -qpi filename.rpm

列出软件文件信息的命令格式rpm -qpl filename.rpm

查询文件属于哪个RPM 的命令格式rpm -qf filename

Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,
然后自动从服务器下载软件包并安装到系统

yum repolist all 列出所有仓库

yum list all 列出仓库中所有软件包

yum info 软件包名称查看软件包信息

yum install 软件包名称安装软件包

yum reinstall 软件包名称重新安装软件包

yum update 软件包名称升级软件包

yum remove 软件包移除软件包

yum clean all 清除所有仓库缓存

yum check-update 检查可更新的软件包

yum grouplist 查看系统中已经安装的软件包组

yum groupinstall 软件包组安装指定的软件包组

yum groupremove 软件包组移除指定的软件包组

yum groupinfo 软件包组查询指定的软件包组信

查询指定的包是否安装,比如tree

rpm -q tree

Linux中软件链接及硬链接

链接分类:软件链接及硬链接

软链接:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:

1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

需要注意:

第一:ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二:ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
第三:ln指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

常用参数:
-b 删除,覆盖以前建立的链接
-s 软链接(符号链接)
-v 显示详细处理过程

实例:

(1)给文件创建软链接,并显示操作信息
ln -sv source.log link.log

(2)给文件创建硬链接,并显示操作信息
ln -v source.log link1.log

(3)给目录创建软链接
ln -sv /opt/soft/test/test3 /opt/soft/test/test5

同步时间

以下是 crontab 的有效选项:
o crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
o crontab –l : 显示 crontab 文件。
o crontab -r : 删除 crontab 文件。
o crontab -ir : 删除 crontab 文件前提醒用户

查看活动的网络和端口的占用情况

ifconfig etho up:启用etho接口

ifconfig etho down:禁用网卡

host:通过网站域名查看网站的ip。
host www.baidu.com
host www.jd.com

netstat:查看程序端口的占用情况。
netstat -a 列出所有端口,包括监听和未监听的;
netstat -at 列出所有TCP端口;
netstat -au 列出所有UDP端口;
netstat -nltp 查看正在监听的tcp协议的程序;(“最常用”)
上面这个代码可以“查看某个端口”,被某个pid占用了,然后我们可以通过端口找到这个
pid,然后杀死该进程,以便我们可以使用其他程序。eg: kill -9 2218 就可以把该进程杀死 。

Centos查看端口占用情况命令

比如查看80端口占用情况使用如下命令:
lsof -i tcp:80

列出所有端口
netstat -ntlp

1、开启端口(以80端口为例)
方法一:
/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效

方法二:
vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
-A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT 重启防火墙,修改完成

2、关闭端口
方法一:
/sbin/iptables -I INPUT -p tcp –dport 80 -j DROP 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效

方法二:
vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
-A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j DROP 重启防火墙,修改完成

3、查看端口状态
/etc/init.d/iptables status

Linux下比较两个文本文件并高亮显示diff输出

在CentOS/RHEL上安装colordiff

yum install colordiff

在Ubuntu上安装colordiff

apt install colordiff

何使用colordiff命令?

语法如下:

(1)进入对应的文件所在目录:colordiff 1.txt 2.txt

(2)diff -u linuxidc linux | colordiff

​ 您可以使用-R或-r选项将输出通过管道传递到less命令,该选项保留颜色转义序列,否则显示不正确或被less丢弃:

diff -u 1.txt 2.txt | colordiff | less -R

(3)GNU/Linux用户可以使用以下语法高亮显示输出,而无需安装colordiff:

diff --color linuxidc linuxidc

(4)另一个选择是使用vimdiff命令通过Vim编辑文件的两个或多个版本并显示差异:

vimdiff linuxidc linux

–dport 80 -j DROP 重启防火墙,修改完成

3、查看端口状态
/etc/init.d/iptables status

Linux下比较两个文本文件并高亮显示diff输出

在CentOS/RHEL上安装colordiff

yum install colordiff

在Ubuntu上安装colordiff

apt install colordiff

何使用colordiff命令?

语法如下:

(1)进入对应的文件所在目录:colordiff 1.txt 2.txt

(2)diff -u linuxidc linux | colordiff

​ 您可以使用-R或-r选项将输出通过管道传递到less命令,该选项保留颜色转义序列,否则显示不正确或被less丢弃:

diff -u 1.txt 2.txt | colordiff | less -R

(3)GNU/Linux用户可以使用以下语法高亮显示输出,而无需安装colordiff:

diff --color linuxidc linuxidc

(4)另一个选择是使用vimdiff命令通过Vim编辑文件的两个或多个版本并显示差异:

vimdiff linuxidc linux

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值