你都是會點啥技術(一)--- Linux

寫在前面的話: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)使用變量:在變量名前面加美元符號,例子:3readonly4unset5shell使6{變量名} 3)只讀變量:readonly 變量名,只讀變量的值不能被改變 4)刪除變量:unset 變量名,不能刪除只讀變量 5)shell字符串:單引號裏的任何字符都會原樣輸出,不能出現單獨單引號,對單引號使用轉義符後也不行 雙引號裏可以用變量,可以出現轉義字符 6)獲取字符串長度:{#變量名}
7)截取字符串::1:448exprindex{變量名:1:4} 從第二個字符開始截取4個字符 8)查找子字符串:`expr index “{變量名}” 子字符`
9)聲明shell數組:數組名=(1 2 3)
10)讀取數組:${數組名[下標]}, [@]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函數

函數返回值在調用該函數後通過 $? 來獲得。
1010 不能獲取第十個參數,獲取第十個參數需要{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=(cd&quot;(cd &quot;(dirname "0&quot;)&quot;;pwd)0&quot;)&quot;;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 &
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章