Linux常用命令笔记

目录

 

1 下载相应的命令软件:

apt-get相关配置(debian系统)

1.1 下载unzip,zip

1.2 下载rz,sz

1.3 下载安装网络工具(包括ifconfig、netstat等网络命令)

1.4 下载安装lsof

2 创建软链接,以直接使用命令

3 快捷命名相应的命令

4 tar命令,解压、压缩和打包

5 echo命令

6 创建sh执行文件

7 查看进程

8 用户命令

9 配置java环境变量

10 centos 7系统,防火墙端口开放

11 centos 7系统,防火墙以及其他工具命令

12 centos 7系统,开启远程访问

13 centos 7系统,ip查询

14 查看系统负载均衡

15 系统缓存的清理

16 centos 7系统开关机重启命令

17 du命令

18 查看某进程的内存使用情况

19 查看系统相关信息


1 下载相应的命令软件:

apt-get install XXX(命令,如vim,make,gcc等等)

yum install XXX(命令,如vim,make,gcc等等)

 

apt-get相关配置(debian系统)

(1) 编辑配置下载源

vim /etc/apt/sources.list

# deb cdrom:[Debian GNU/Linux 9.2.1 _Stretch_ - Official amd64 DVD Binary-1 20171013-13:09]/ stretch contrib main

#deb cdrom:[Debian GNU/Linux 9.2.1 _Stretch_ - Official amd64 DVD Binary-1 20171013-13:09]/ stretch contrib main

deb http://mirrors.163.com/debian/ stretch main
deb-src http://mirrors.163.com/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib
deb-src http://security.debian.org/debian-security stretch/updates main contrib

# stretch-updates, previously known as 'volatile'
deb http://mirrors.163.com/debian/ stretch-updates main contrib
deb-src http://mirrors.163.com/debian/ stretch-updates main contrib

(2) 更新对应的下载列表

apt-get update

 

1.1 下载unzip,zip

yum install -y unzip zip

1.2 下载rz,sz

yum install -y lrzsz

1.3 下载安装网络工具(包括ifconfig、netstat等网络命令)

yum install -y net-tools
#显示所有的占用端口
netstat -ntlp

#查看相应端口的进程
netstat -tunlp|grep 8000

参数说明如下
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

1.4 下载安装lsof

yum install -y lsof
lsof filename 显示打开指定文件的所有进程 
lsof -a 表示两个参数都必须满足时才显示结果 
lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件 
lsof -u username 显示所属user进程打开的文件 
lsof -g gid 显示归属gid的进程情况 
lsof +d /DIR/ 显示目录下被进程打开的文件 
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长 
lsof -d FD 显示指定文件描述符的进程 
lsof -n 不将IP转换为hostname,缺省是不加上-n参数 
lsof -i 用以显示符合条件的进程情况 
lsof -i[46] [protocol][@hostname|hostaddr][:service|port] 
46 –> IPv4 or IPv6 
protocol –> TCP or UDP 
hostname –> Internet host name 
hostaddr –> IPv4地址 
service –> /etc/service中的 service name (可以不只一个) 
port –> 端口号 (可以不只一个)

常用的查找占用端口的线程 
lsof -i :8080

 

2 创建软链接,以直接使用命令

只有在/usr/bin下的软件才可直接被使用,否则得到相应的目录下才能使用命令,故我们可以将软件在/usr/bin创建软链接,下面举个例子:

安装rz/sz命令时会将其默认安装到/usr/local/bin目录下,这时我们并不能直接使用rz或sz命令,故创建软链接并命名为rz/sz

cd /usr/bin

ln -s /usr/local/bin/lrz rz

ln -s /usr/local/bin/lsz sz

 

3 快捷命名相应的命令

在/etc/profile文件的最后输入:alias 命令别名="命令执行语句"。然后,保存文件并source /etc/profile就ok啦。这时你就可以直接用命令别名来代替命令执行语句了,举个例子:

想要用ll命令代替ls -l

vim /etc/profile
#Shift + g 可直接到文件尾行,i,输入以下代码
alias ll="ls -l"

#保存文件并退出
:wq

#刷新文件
source /etc/profile

 

4 tar命令,解压、压缩和打包

打包压缩

#将当前目录里所有的jpg文件打包成jpg.tar文件
tar -cvf jpg.tar *.jpg

#将当前目录里所有的jpg文件打包成jpg.tar文件后,用gzip压缩生成为jpg.tar.gz文件
tar -czf jpg.tar.gz *.jpg

解压

#解压tar包
tar -xvf jpg.tar

#解压tar.gz包
tar -xzvf jpg.tar.gz

#解压zip包
unzip file.zip

 

5 echo命令

用于在shell中打印shell变量的值或直接输出指定的字符串,如:

echo $JAVA_HOME        输出变量$JAVA_HOME的值

 

6 创建sh执行文件

touch restart.sh    #创建restart.sh文件
vim restart.sh      #编辑restart.sh文件
chmod +x restart.sh #赋予restart.sh执行权限

 

7 查看进程

#查看相应的进程
ps -ef|grep java
#查看相应进程的cpu和内存占用率
ps -aux|grep java

其中ps -aux命令展示的结果

USER               用户 

PID                  进程号 

%CPU              执行命令时候进程占用的CPU

%MEM             执行命令时候进程占用的内存

VSZ                 虚拟内存集         

RSS                 常住内存集

TTY                  终端号    

STAT                状态

          R:runing 运行态 

          S:可中断睡眠态 

          D:不可中断睡眠态

          T:停止态

          Z:僵尸态

          s:表示这个进程是个领导者进程

          +:该进程为前台进程

          l:该进程是多线程进程

         N:低优先级进程

         <:高优先级进程 

         []:表示这个一个内核线程

START           启动日期

TIME              启动时间

COMMAND   执行的命令行

 

8 用户命令

#切换为root用户
su root
#切换用户
su 用户名

#以管理员身份执行ll命令
sudo ls

#设置修改tomcat用户密码
passwd tomcat

#将data文件的所有者赋予mysql用户
chown -R mysql data
#将data文件的所有者赋予mysql用户,所属组别赋予my
chown -R mysql:my data

#将data文件的所属组别赋予mysql组别
chgrp -R mysql data

#添加用户组
groupadd mysql
#给用户组mysql,添加用户mysql
useradd -g mysql mysql

 

9 配置java环境变量

vim /etc/profile
#shift+g到文件尾行,输入以下代码
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre

#保存文件并退出
:wq

#刷新文件
source /etc/profile

 

10 centos 7系统,防火墙端口开放

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,

如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
实际命令如下:

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 

重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

 

第二种方法,传统的管理方式。

执行一下命令:

systemctl stop firewalld

systemctl mask firewalld


并且安装iptables-services:

yum install iptables-services


设置开机启动:

systemctl enable iptables


systemctl stop iptables

systemctl start iptables

systemctl restart iptables

systemctl reload iptables

 

保存设置:

service iptables save

 

这时再执行service iptables start/stop,发现没问题啦!

 

开放某个端口 在/etc/sysconfig/iptables里添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

 

11 centos 7系统,防火墙以及其他工具命令

(1)firewalld的基本使用

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld 

开机禁用  : systemctl disable firewalld

开机启用  : systemctl enable firewalld

 

(2)systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

 

(3)配置firewalld-cmd

查看版本: firewall-cmd --version

查看帮助: firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload

查看区域信息:  firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

那怎么开启一个端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone= public --query-port=80/tcp

删除

firewall-cmd --zone= public --remove-port=80/tcp --permanent

 

12 centos 7系统,开启远程访问

以root权限执行

 vi /etc/ssh/sshd_config

将 

#PermitRootLogin yes

这一行的“#”去掉,修改为:

PermitRootLogin yes

 

13 centos 7系统,ip查询

#查看ip地址,方法一
ip addr
#查看ip地址,方法二
hostname -I

#发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。
#查看ens33网卡的配置
 vi /etc/sysconfig/network-scripts/ifcfg-ens33

#从配置清单中可以发现 CentOS 7 默认是不启动网卡的(ONBOOT=no)。
#将ONBOOT=no改为ONBOOT=yes,:wq保存退出
#重启网络服务(必须以root用户权限执行),若为非root用户,则需在命令前头加上sudo
service network restart
#CentOS 8的重启网络服务命令如下
nmcli c reload

 

14 查看系统负载均衡

#实时查看系统负载均衡
top

#查看当前的系统内存使用情况(单位:KB),可加-m使单位为MB
free

#查看系统磁盘空间
df -lh

 

15 系统缓存的清理

(1)释放网页缓存(To free pagecache):

sync; echo 1 > /proc/sys/vm/drop_caches

(2)释放目录项和索引(To free dentries and inodes):

sync; echo 2 > /proc/sys/vm/drop_caches

(3)释放网页缓存,目录项和索引(To free pagecache, dentries and inodes):

sync; echo 3 > /proc/sys/vm/drop_caches

下面实际测试一下:

[root@localhost apache-tomcat-8.5.32_2]# free -m    #查看内存(单位:MB)
              total        used        free      shared  buff/cache   available
Mem:            974         368          81           7         524         406
Swap:          2047           0        2047
[root@localhost apache-tomcat-8.5.32_2]# sync; echo 3 > /proc/sys/vm/drop_caches
[root@localhost apache-tomcat-8.5.32_2]# free -m    #再查看内存,从81到510,释放了429m的内存
              total        used        free      shared  buff/cache   available
Mem:            974         356         510           7         107         471
Swap:          2047           0        2047

 

16 centos 7系统开关机重启命令

shutdown -h 10        #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕中

shutdown -h now       #计算机会立刻关机

shutdown -h 22:22     #计算机会在这个时刻关机

shutdown -r now       #计算机会立刻重启

shutdown -r +10       #计算机会将于10分钟后重启

reboot                #重启

halt                  #关机

 

17 du命令

du命令用于查看某文件或目录占用磁盘空间的大小。

du常用选项:

       -h:以人类可读的方式显示

  -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小

  -s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小

  -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和

  --apparent-size:显示目录或文件自身的大小

  --max-dept:与-a一起用,限制目录的深度

  -l :统计硬链接占用磁盘空间的大小

  -L:统计符号链接所指向的文件占用的磁盘空间大小

下面举个例子说明。

du -ah --max-depth=1
# a 表示显示目录下所有文件和文件夹
# h 表示以人类能看懂的方式展示
# max-depth 表示目录的深度

常用组合说明。

du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量 

du -ah --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。

 

18 查看某进程的内存使用情况

jmap -heap <pid> 命令查看内存情况如下

 

19 查看系统相关信息

# 查看系统版本信息
cat /proc/version

# 查看系统cpu信息
cat /proc/cpuinfo
processor     逻辑处理器的id。
physical id    正式的物理处理器的id。
core id           cpu里面的每个核心的id。
cpu cores     每个cpu物理处理器中的内核数量。
siblings         每个cpu物理处理器中的逻辑处理器的数量。


# Linux查看版本当前操作系统发行版信息
cat /etc/issue 或 cat /etc/redhat-release

 

 

 

待续更新。。。

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值