概述
写在前面的话:Linux命令有很多,死记硬背的可以说是太傻了,所以天真的我选择记下来。记之前建议大家能够系统的学习Linux,而不是单单记住几个简单的命令。个人推荐B站视频尚硅谷韩顺平讲的视频:https://www.bilibili.com/video/av21303002?from=search&seid=4246476666173965955 我这也是照猫画虎,命令还多着呢,大家慢慢找慢慢记。
1.我们为啥要学习Linux操作系统
Linux是一款免费,开源,安全,高效,处理高并发,稳定的操作系统。这些都是可以对比Windows操作系统得出来的。
2.我们在VMware安装Linux操作系统时,如何设置网络适配器(网络连接常使用的三种模式)
桥接模式:Linux操作系统和本机在同一个网段,Linux系统可以和其他电脑互相访问,但这会造成同一网段IP地址不够用,导致IP冲突。
NAT模式:本机会出现两个IP地,Linux将会使用第二个IP建立自己的IP地址,其他电脑访问不到Linux,但Linux通过本机的第一个IP地址代理可以访问到其他电脑。
主机模式:Linux会建立一个独立的主机,不能访问外网。
3.安装Linux的时候怎样分区
/boot:启动文件存放的目录,一般分配200MB就够用
/swap:交换分区,一般为内存大小的2倍
/:linux的根分区,剩下的都给根分区,它会自动分配/home,/bin,…
4.Linux根目录下目录的结构和作用
/bin:存放指令
/boot:存放启动核心文件
/dev:管理设备
/etc:存放配置文件
/home:存放普通用户的主目录
/lib:存放动态连接库文件
/lib64:存放库文件
/lost+found:非法关机后,存放一些文件
media:存放USB/光驱
/mnt:存放挂载文件
/opt:存放软件安装文件
/proc:内核文件
/root:系统管理员超级权限者的用户主目录
/sbin:存放系统管理员高权限使用的指令
/selinux:安全功能的目录
/srv:存放服务启动需要提取的文件
/sys:存放系统文件
/tmp:存放临时文件
/usr:存放用户应用程序和文件
/var:存放日志文件
5.认识使用vi和vim编辑器(vim是vi的升级版)
1.正常模式:以vim打开默认进入的就是正常模式
G文档末行 gg文档首行 u撤销 指定行数 20 shift+g
2.插入/编辑模式:按下i I o O a A r R进入插入模式。通常使用i
3.命令行模式:ESC进入,可以进入读取、保存、替换、显示行号。
yy 拷贝光标所在的当前行,5yy 拷贝当前行向下5行 p 粘贴
dd 删除当前行 5dd 删除当前行向下的5行
/关键字 回车查找 n 下一个
:set nu 显示行号 :set nonu 取消行号
:wq! w 保存 q退出 !强制
6.Linux操作系统的关机/重启/登录/注销
关机
shutdown -h now 表示立即关机
shutdown -h 1 表示1分钟后关机
shutdown -h 10:00 10点关机
shutdown -c 取消shutdown关机命令
init 0 直接关机
half 直接关机
poweroff 直接关机
重启
shutdown -r now 重启
shutdown -r 10:00 10点重启
init 6 立马重启
reboot 立马重启
注销
exit 立马注销
logout 立马注销
sync 把内存数据同步到磁盘上
7.用户管理
useradd 用户名 :建立用户(当建立用户时,/home下会建立一个与用户同名的文件夹)
useradd -d 目录 用户名:建立用户时,指定目录
passwd 用户名: 设置用户密码
userdel 用户名:删除用户
userdel -r 用户名:删除用户及家目录
id 用户名:查询用户信息
su 用户名:切换用户,高权限切换低权限不输入密码。反之,则需要
exit:退出当前用户,返回原来的用户
whoami:显示当前用户
8.用户组管理
groupadd 组名称:增加组
groupdel 组名称:删除组
添加用户到组案例:
groupadd A:创建A组
useradd -g A xiaoming:创建用户xiaoming添加到A组
修改用户到组案例:
groupadd B:创建B组
usermod -g B xiaoming:修改用户xiaoming到B组
9.用户和用户组的相关文件
/etc/passwd:用户的配置文件,记录用户的各种信息 用户名、口令、用户标识、组标识、注释性描述、主目录、登录Shell
/etc/shadow:口令配置文件
/etc/group:组配置文件,组名:口令、组标识号、组内用户列表
10.实用指令
开机流程:开机—>BIOS(输入输出系统)—>/boot—>init进程—>运行级别—>运行级对应的服务
运行的7个级别 /etc/inittab:
0:关机
1:单用户【找回密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
init [0|1|2|3|4|5|6]
CentOS7修改root密码步骤:
首先在界面按【e】键
按【e】进入启动文件界面后
按【↓】拉到底部
在 “LANG=zh_cn.UTF-8” 同行后面加上“init=/bin/sh”
然后按【Ctrl+X】进入“单用户模式”
输入【ls】,回车
再输入【mount –o remount ,rw / 】,回车
输入【passwd】(注意:密码不能少于8位)
输入【touch /.autorelabel】,回车
再输入【exec /sbin/init】回车 重启系统
11.帮助指令
type 命令: 判断内外部命令类型
指令 is a shell builtin: 表示是内部命令,直接调用
指令 is /目录 : 表示是外部命令,环境变量调用
help 内部命令:内部命令帮助手册
man 外部命令:外部命令帮助手册
12.文件目录操作
pwd:显示当前工作目录
ls -lah:显示当前目录的内容 l:列表方式显示内容信息 a:全部 h:人性化打印文件的大小
cd … :上一级目录
cd~等于cd:回到家目录
mkdir 目录名称:创建目录 -p:可以创建多级目录
rmdir 目录名称:只能删除空目录
rm -rf 目录名称:可以删除非空目录 -f:强制删除不提示
touch 空文件名1,空文件名2:创建一个或多个空文件
cp 拷贝源 目标目录:拷贝单个文件
cp -r 拷贝源 目标目录:递归拷贝多个文件 -r 递归拷贝
cp -r 拷贝源 目标目录:强制覆盖不提示
rm 文件名:删除文件
rm -rf 目录:删除目录 -f:强制删除不提示
mv oldfilename newfilename:重命名文件
mv file /目录:移动文件,相当于window剪切
cat 文件:以只读的方式打开浏览文件 -n:显示行号 | more:分屏显示
more 文件:分屏形式浏览文件
less 文件:根据需要分屏显示文件内容,对于大型文件有较高的效率
/ >:输出重定向,会把原来的内容覆盖
/ >>:追加 不会覆盖原来文件的内容,而是追加到文件的尾部
ls/cat/echo/cal/… 查询的内容 :可以用>或>>加到文件中 cal:日历
echo:输出内容到控制台 echo $PATH:输出环境变量
head 文件:用于显示文件的开头部分内容 默认前10行 head -n 5 文件名称:查看文件前5行
tail 文件名称:用于显示文件的尾部部分内容 默认后10行 tail -n 5 文件名称:查看文件后5行
tail -f 文件名称:实时的监控文件变化(非常实用)
ln:语法:ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接 相当于Windows的快捷方式
rm -rf 软链接名称:删除软链接
history:查看系统使用过的所有历史指令
history 10:最近使用的10个指令
history !指令编号:执行编号所代表的指令
13.时间日期指令
date:显示当前时间
date +%Y:当前年
date +%m:当前月
date +%d:当前日
date “+%Y-%m-%d %H:%M:%S”:当前年月日时分秒
date -s “2019-5-8 19:51:10”:设置系统时间
cal:查看当前日历
cal 2019:查看2019的全部日历
14.搜索查找指令
find /目录 -name 文件名称:根据文件名称搜索 文件名称可以使用通配符*
find /目录 -user 用户名称:根据所属用户搜索文件
find /目录 -size +20M:搜索大于20M的文件
find /目录 -size -20M:搜索小于20M的文件
find /目录 -size 20M:搜索等于20M的文件
注意:M大写 k小写
locate 文件名称:快速定位文件位置 使用前必须使用updatedb指令更新locate数据库
grep:过滤查找 “|”,表示将前一个命令的处理结果输出传递给后面的命令处理
例子:cat hello.txt | grep -ni yes
在hello.txt文件中,查找"yes"所在行 -n:显示行号 -i:不区分大小写
15.压缩和解压缩指令
gzip 文件名称:压缩之后,不会保留原来的文件
gunzip 文件名称:解压缩之后,不会保留压缩文件
zip -r 压缩文件名称.zip 需要压缩的文件或目录:压缩文件 -r:递归
例子:zip -r myzip.zip /home/:压缩/home下的所有文件到myzip.zip
unzip:解压缩
例子:unzip -d /opt/tmp myzip.zip:将myzip.zip解压到/opt/tmp
tar:参数 -z:有gzip属性,-c:产生.tar打包文件,-x解包.tar文件,-v显示详细信息,-f:后面只能接档案名
tar压缩:tar -zcvf 文件名.tar.gz 文件1 文件2
tar解压:tar -zxvf 文件名.tar.gz -C 解压到指定目录下 目录必须存在
16.组管理和权限管理
创建组,用户,查看文件所有者
groupadd fruit 创建fruit组
useradd -g fruit apple 创建apple用户放在fruit组
passwd apple 设置apple用户登录密码
su apple 切换到apple用户,自动进入/home目录下
cd apple 进入apple目录
touch ok.txt 创建ok.txt文件
ls -ahl 以人性化的格式查看apple目录下所有文件信息
-rw-r–r--. 1 apple fruit 2 Jan 18 22:34 ok.txt
-:表示文件的类型 :-普通文件 d目录 l软链接 c字符设备[键盘鼠标] b块文件[硬盘]
-rw:表示文件所有者权限
r–:表示文件所在组的用户的权限
r–:表示文件其他组的用户权限
l:如果是文件,表示硬链接的数,如果是目录则表示该目录的子目录个数
apple:文件的所有者
fruit: 文件所在组
2 :表示文件大小,如果是目录是4096
Jan 18 22:34:文件最后的修改时间
ok.txt:文件名称
rwx作用到文件:r可读,可查看 w可修改,不可删 x 可执行
rwx作用到目录:r可读取 w可修改,创建,删除,重命名 x 可进入该目录
修改权限chmod
第一种方式:+、-、=变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
chmod u=rwx,g=rx,o=x 文件/目录名
chmod o+w 文件/目录名
chmod a-x 文件/目录名
第二种方式:通过数字 r=4 w=2 x=1
chmod 777 文件/目录 (777----->ugo)
17.crond任务调度
crontab -e 编辑crontab定时任务
crontab -l 查询crontab任务
crontab -r 终止当前用户所有crontab任务
service crond restart 重启任务调度
例子:每隔一分钟,将当前日期信息,追加到/tmp下的mydate文件中
1)编写/home/mytask.sh脚本
#!/bin/bash
date >> /tmp/mydate
2)给mytask.sh脚本执行权限
chmod 744 /home/mytask.sh
3)crontab -e 编辑定时任务
*/1 * * * * /home/mytask. sh
4)保存启动成功
18.磁盘分区挂载
lsblk -f 查看系统的磁盘挂载信息
挂载磁盘步骤:
1.在虚拟机上添加硬盘,添加完成需要重启才能识别
2.分区 fdisk /dev/sdb -> m -> n -> p -> 回车 默认 -> 回车 默认 -> w
3.格式化 mkfs -t ext4 /dev/sdb1
4.挂载 mount /dev/sdb1(设备名称) /home/newdisk(挂载目录)
5.卸载 umount /dev/sdb1/|/home/newdisk 卸载设备名称|挂载目录
6.设置可以自动挂载(重启后仍然有效果)vim /etc/fstab 添加保存后 mount -a 自动挂载生效 添加例子 /dev/sdb1 /home/newdisk ext4 defaults 0 0
https://blog.csdn.net/qq_30604989/article/details/81163270(详细教程)
19.磁盘情况查询指令
df -lh 查询系统整体磁盘使用情况
du -[ach] --max-depth /目录(a所有目录和文件 c汇总值 h带计量单位 --max-depth=1子目录深度)
例子:ls -l /home | grep ‘^-’ | wc -l 查看home目录下有多少个文件 -R 递归查询
20.网络配置
cd /etc/sysconfig/network-scripts/ 进入目录
vim ifcfg-eth0 修改文件不同版本文件名可能不一样
a/i insert 进入编辑
ONBOOT=YES 开机自动连接
BOOTPROTO=static 以静态方式获取IP
IPADDR=192.168.0.11 IP地址
NETMASK=255.255.255.0 子网掩码
GATEWAY=192.168.0.2 网关IP
DNS1=114.114.114.114 DNS服务器
DNS2=8.8.8.8 DNS服务器
ESC :wq! write 写入 quit 退出 ! 强制
service network restart 重启网络服务 或 reboot 重启电脑 生效
【cd /etc/udev/rules.d
rm -f 70-persistent-net.rules rm 删除 -f 文件
init 6 / reboot 重启
这样可以重新生成网络信息配置】
21.进程管理
ps -ef:以标准格式显示当前所用的进程 -e 显示所有进程 -f 全格式
ps -aux 查看进行 -a 显示当前终端的所有进程信息 -u以用户格式显示进程信息 -x 显示后台进程运行的参数
【USER:用户名称
PID:进程号
%CPU:进程占用CPU的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用内存大小kb
RSS:进程占用物理内存大小kb
TT:终端名称 缩写
STAT:进程状态 S睡眠 s会话的先导进程 N表示进程拥有比普通优先级更低的优先级 R-正在运行 D短期等待 Z僵死进程 T被跟踪或者被停止
STARTED:进程的启动时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示】
终止进程:
kill -9 进程号:通过进程号杀死进程
killall 进程名称:通过进程名称杀死进程,支持通配符
pstree [-p,-u]:以树结构查看进程信息
22.服务管理
CentOS7.0以前:service 服务名 【start|stop|restart|reload|status】
CentOS7.0:systemctl 【start|stop|restart|reload|status】 服务名
查看服务名方式:cd /etc/init.d 目录下是注册过的服务名称
查看全部服务和对应的级别:chkconfig --list
查看服务和对应级别 chkconfig --list | grep 服务名 或 chkconfig 服务名 --list
服务的运行级别设置:chkconfig --level 5 服务名 on/off 给服务设置开机启动/开机关闭
服务所有级别设置:chkconfig 服务名 on/off 设置开机启动/开机关闭
使用细节:chkconfig重新设置开机自动启动或关闭,需要重启机器才能生效
动态实时监控进程:top -[d、i、p] d:指定更新秒数,默认3秒 i:不显示闲置和僵死进程 p:指定进程id监控某个进程
交互指令:P:以CPU使用率排序,默认 M:以内存使用率排序 N:以PID排序 q:退出top
在top下监视特定用户:输入"u",再输入用户名,回车。
终止指定的进程:输入"k",输入进程ID,回车
查看系统网络情况:netstat -[an,p] an:按照一定顺序排列输出,p:显示哪个进程在调用
例子:查看sshd的网络服务 netstat -anp | grep sshd
23.RPM和YUM包管理
rpm -qa:查询所安装的所有rpm软件包
rm -q 软件包名:查询软件包是否安装
rpm -qi 软件包名:查询软件包信息
rpm -ql 软件包名:查询软件包中的文件
rpm -qf 文件全路径名:查询文件所属的软件包
rpm -e 软件包的名:卸载rpm软件包
rpm -e --nodeps 软件包名:强制删除软件包
rpm -ivh 软件包全路径名称:安装软件包 i=install v=verbose提示 h=hash进度条
yum list:查询yum服务器是否有需要安装的软件
yum -y install 软件包名:下载安装软件包
yum -y remove 软件包名:卸载软件包
1.安装jdk
1.解压jdk
2.vim /etc/profile 在最后添加4行代码
3.source /etc/profile
4.输入java看到命令帮助说明成功
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export
PATH=${JAVA_HOME}/bin:$PATH
2.安装tomact
1.解压tomact
2.启动./startup.sh
3.开放端口8080,外网才能访问
iptables防火墙:vim /etc/sysconfig/iptables 加入 -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
firewalld防火墙:firewall-cmd --zone=public --add-port=8080/tcp --permanent
–zone=public:表示作用域为公共的;
–add-port=8080/tcp:添加tcp协议的端口8080;
–permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;
3.安装mysql
到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,
然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit),32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit)
tar -zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
进入安装包所在目录 执行命令:tar mysql-5.6.17-linux-glibc2.5-i686.tar.gz
复制解压后的mysql目录到系统的本地软件目录:执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
添加系统mysql组和mysql用户:执行命令:groupadd mysql和useradd -r -g mysql mysql
安装数据库:
进入安装mysql软件目录:执行命令 cd /usr/local/mysql
修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql
修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
到此数据库安装完毕
添加开放端口3306,firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl start mysql.server 开启服务
bin/mysql -u root -p
进入输入密码之后出现
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
原因1
没开启服务 systemctl start mysql.server 开启服务
原因2 /tmp/目录下没有mysql.sock文件
全局搜索此文件 mysql.sock
find / -name “mysql.sock”
我的在/var/lib/mysql/下有此文件 然后建立软连接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
Navicate连接1130错误
1、连接服务器: mysql -u root -p
2、看当前所有数据库:show databases;
3、进入mysql数据库:use mysql;
4、查看mysql数据库中所有的表:show tables;
5、查看user表中的数据:select Host, User,Password from user;
6、修改user表中的Host:update user set Host=’%’ where User=‘root’;
7、最后刷新一下生效:flush privileges;
1.shell脚本入门
#!/bin/bash
echo “hello world”
说明:"#!"是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell
2.shell变量
1)声明变量:只能使用英文字母,数字和下划线,首字符不能以数字开头,中间不能有空格,不能使用标点符号,不能用bash的关键字
2)使用变量:在变量名前面加美元符号,例子: 变 量 名 3 ) 只 读 变 量 : r e a d o n l y 变 量 名 , 只 读 变 量 的 值 不 能 被 改 变 4 ) 删 除 变 量 : u n s e t 变 量 名 , 不 能 删 除 只 读 变 量 5 ) s h e l l 字 符 串 : 单 引 号 里 的 任 何 字 符 都 会 原 样 输 出 , 不 能 出 现 单 独 单 引 号 , 对 单 引 号 使 用 转 义 符 后 也 不 行 双 引 号 里 可 以 用 变 量 , 可 以 出 现 转 义 字 符 6 ) 获 取 字 符 串 长 度 : {变量名} 3)只读变量:readonly 变量名,只读变量的值不能被改变 4)删除变量:unset 变量名,不能删除只读变量 5)shell字符串:单引号里的任何字符都会原样输出,不能出现单独单引号,对单引号使用转义符后也不行 双引号里可以用变量,可以出现转义字符 6)获取字符串长度: 变量名3)只读变量:readonly变量名,只读变量的值不能被改变4)删除变量:unset变量名,不能删除只读变量5)shell字符串:单引号里的任何字符都会原样输出,不能出现单独单引号,对单引号使用转义符后也不行双引号里可以用变量,可以出现转义字符6)获取字符串长度:{#变量名}
7)截取字符串: 变 量 名 : 1 : 4 从 第 二 个 字 符 开 始 截 取 4 个 字 符 8 ) 查 找 子 字 符 串 : ‘ e x p r i n d e x “ {变量名:1:4} 从第二个字符开始截取4个字符 8)查找子字符串:`expr index “ 变量名:1:4从第二个字符开始截取4个字符8)查找子字符串:‘exprindex“{变量名}” 子字符`
9)声明shell数组:数组名=(1 2 3)
10)读取数组:${数组名[下标]}, 数 组 名 [ @ ] 获 取 全 部 数 组 元 素 11 ) 获 取 数 组 长 度 : {数组名[@]}获取全部数组元素 11)获取数组长度: 数组名[@]获取全部数组元素11)获取数组长度:{#${数组名[@]}}
12)注释:单行:# 多行: :<<EOF
EOF
3.Shell传递参数
$ ./test.sh 1 2 3
$0:执行的文件名
$1:第一个参数1
$#:传递到脚本的参数个数,文件名不算
$*:以单字符串显示所有像脚本传递的参数
$$:脚本运行的当前进程ID号
$!:后台运行的最后一个进程的ID号
@ : 与 @:与 @:与*相同,返回的每个参数加引号
$?:显示最后命令的退出状态,0表示没有错误
4.shell运算符(expr表达式计算工具)
例:
expr 1 + 1
表达式和运算符之间要有空格,必须用``包含
* 乘号必须加
注意字符串和数字运算
5.Shell函数
函数返回值在调用该函数后通过 $? 来获得。
10 不 能 获 取 第 十 个 参 数 , 获 取 第 十 个 参 数 需 要 10 不能获取第十个参数,获取第十个参数需要 10不能获取第十个参数,获取第十个参数需要{10}。当n>=10时,需要使用${n}来获取参数。
命令记录:
linux 如何查看硬盘大小,内存大小等系统信息及硬件信息
linux CPU大小
[root@idc ~]# cat /proc/cpuinfo |grep “model name” && cat /proc/cpuinfo |grep “physical id”
model name: Intel® Xeon™ CPU 2.80GHz
model name: Intel® Xeon™ CPU 2.80GHz
model name: Intel® Xeon™ CPU 2.80GHz
model name: Intel® Xeon™ CPU 2.80GHz
physical id : 0
physical id : 0
physical id : 3
physical id : 3
说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
可以看到上面,这台机器有两个双核的CPU,ID分别是0和3,大小是2.8G。
内存大小
[root@lbl ~]# cat /proc/meminfo |grep MemTotal
MemTotal: 1034612 kB
[root@lbl ~]#
硬盘大小
[root@lbl ~]# fdisk -l |grep Disk
Disk /dev/sda: 300.0 GB, 300000000000 bytes
[root@lbl ~]#fdisk -l
更多查看linux硬件信息的方法
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
使用记录:
1.SHELL_FOLDER= ( c d " (cd " (cd"(dirname " 0 " ) " ; p w d ) 或 0")";pwd)或 0")";pwd)或(dirname $(readlink -f “$0”)) 获取当前脚本目录
2.解决“/bin/bash^M: bad interpreter: No such file or directory”—>vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。
3.nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 nohup java -jar ftpserver.jar >ftp.log &
java程序启动脚本
#! /bin/bash
jar_path=$(dirname $(readlink -f "$0"))
java_home=${jar_path}"/jdk1.8.0_151/bin/java"
chmod 755 ${java_home}
nohup ${java_home} -Djava.ext.dirs=${jar_path}/lib com.test.lbl.MainFrame >/dev/null 2>&1 &
最后
以上就是清新银耳汤为你收集整理的你都是会点啥技术(一)--- Linux的全部内容,希望文章能够帮你解决你都是会点啥技术(一)--- Linux所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复