nano /etc/motd // _ooOoo_ // // o8888888o // // 88" . "88 // // (| ^_^ |) // // O\ = /O // // ____/` '\____ // // .' \\| |// `. // // / \\||| : |||// ...
nano /etc/motd
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永無BUG 永不修改 //
佛曰:
寫字樓里寫字間,寫字間里程式員;
程式人員寫程式,又拿程式換酒錢。
酒醒只在網上坐,酒醉還來網下眠;
酒醉酒醒日復日,網上網下年復年。
但願老死電腦間,不願鞠躬老闆前;
賓士寶馬貴者趣,公交自行程式員。
別人笑我忒瘋癲,我笑自己命太賤;
不見滿街漂亮妹,哪個歸得程式員?
命令格式 命令 選項 參數
pwd 當前路徑
cd 切換目錄
wq 退出並保存
rm 刪除
f 文件
touch +文件名 創建文件
rm -f+文件名刪除文件
vi 修改文件
HWADDR cmd地址
clear 清屏 快捷鍵 Ctrl+L
file 文件
ELF 二進位文件
search 搜索
search mysql 修改
whereis 定位命令位置
echo 輸出
功能:顯示字元,echo會將輸入的字元串送往標準輸出。輸出的字元串間以空白字元隔開,併在最後加上換行號
語法:
echo[-neE][字元串]
選項:
·-E(預設)不支持\解釋功能
·I-n不自動換行
·-e啟用\字元的解釋功能
[18:54:27 root@centos ~]#echo "my hostname $HOSTNAME"
my hostname centos8.he-rz-l-0-203
[18:49:21 root@centos ~]#echo 'my hostname "$HOSTNAME"'
my hostname "$HOSTNAME"
[18:55:11 root@centos ~]#echo "my hostname `hostname`"
my hostname centos8.he-rz-l-0-203顯示變數
"" 放參數
''裡面放什麼輸出都是字元串
[21:23:26 root@centos ~]#ll `echo $(hostname)-$(date +%F).txt`
-rw-r--r--. 1 root root 0 Feb 15 20:54 centos7.hn-rz-cen7-0-209-2023-02-15.txt 有的時候``不好使
[21:23:42 root@centos ~]#ll $(echo $(hostname)-$(date +%F).txt)
-rw-r--r--. 1 root root 0 Feb 15 20:54 centos7.hn-rz-cen7-0-209-2023-02-15.txt 需要用$()
[21:23:59 root@centos ~]#
``= $()裡面必須放命令不然報錯
echo "$VAR_NAME"#變數會替換,弱引用
echo '$VAR_NAME'變數不會替換,強引用
啟用命令選項-e,若字元串中出現以下字元,則特別加以處理,而不會將它當成一般文字輸出
\a 發出警告聲
·\b退格鍵
·\c最後不加上換行符號
·\e escape,相當於\033
·\n換行且游標移至行首
·\r回車,即游標移至行首,但不換行
\t插入tab
·\t插入tab
·\插入\字元
·\Onnn插入nnn(八進位)所代表的ASCII字元
\xHH插入HH(十六進位) 所代表的ASCIl數字(man 7 ascii)
$PATH 環境變數:路徑
$LANG 語言
$LANG 查看編碼
[21:35:33 root@centos mnt]#echo {1..19}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
[21:36:04 root@centos mnt]#echo {19..1}
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
[21:36:18 root@centos mnt]#echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z ascii碼
[21:49:52 root@centos ~]#echo {000..20..2}
000 002 004 006 008 010 012 014 016 018 020
[21:36:49 root@centos mnt]#echo {19..1..2}
19 17 15 13 11 9 7 5 3 1
[21:36:59 root@centos mnt]#echo {19..1..2}
19 17 15 13 11 9 7 5 3 1
[21:39:44 root@centos mnt]#echo fsdf{19..1..2}
fsdf19 fsdf17 fsdf15 fsdf13 fsdf11 fsdf9 fsdf7 fsdf5 fsdf3 fsdf1
[21:39:59 root@centos mnt]#echo file{1..5}..{txt,log}
file1..txt file1..log file2..txt file2..log file3..txt file3..log file4..txt file4..log file5..txt file5..log
[21:43:57 root@centos ~]#touch file{1..5}..{txt,log}
[21:44:06 root@centos ~]#ls
Desktop Downloads Pictures Templates anaconda-ks.cfg file1..txt file2..txt file3..txt file4..txt file5..txt
Documents Music Public Videos file1..log file2..log file3..log file4..log file5..log initial-setup-ks.cfg
[21:44:48 root@centos ~]#ls
Desktop Documents Downloads Music Pictures Public Templates Videos anaconda-ks.cfg initial-setup-ks.cfg
LANG=zh_CN.UTF-8中文 LANG=en_CN.UTF-8
ps -fe 進程
exit 退出 或
quit 退出
bc 計算進位 obase 計算二進位 ibase 計算十進位文件 hoase計算十六進位
file /bin/ls 查看二進位文件ELF linux文件格式
uname -r 查linux的版本
www.kernel.org linux官網
cd 根 windows一個分區一個根 linux只有一個根
cat 查看文本文件只能查看文本文件
etc 配置文件
mount 掛載
init 切換命令行 runlevel 查看現在是GUI 還是字元界面5字元3GUI
echo $SHELL 查看shell類型
echo $path 查看外部命令存放路徑
cat /etc/shells 查看shell支持版本
hostname 看主機名 hostname加x x = 新名字 這個只是放在記憶體裡面了
hostnamectl set-hostname 這個才是真正的更改
sudo -i切換用戶命令是1-6
whoami 查看當前用戶
who am i 當前用戶信息
who 所有登錄信息
w 比上面的更詳細
yum 安裝東西但連接互聯網
. 和 source重讀取文件註意後面都有空格
dnf 同上但是只支持centos8後面的
PS1更改提示符
Logout 退出系統
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]" 帶色的加閃的
1高亮 5閃 41背景顏色 33字體顏色
echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;37m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/env.sh多種顏色
Ps aux 看shell類型
nano 編輯文本文件
gedit 圖形化工具
tty當前所在的終端
lscpu 查看當前的cpu
cat /proc/cpuinfo 顯示CPU info的信息
linux有兩個命令一個內部命令一個外部命令 當你打開系統內部命令就直接執行了所以內部命令就比外部命令要快 當你使用外部命令的時候使用第一次就直接放在了hash裡面在hash裡面可以看到用了那些外部命令用了幾次 清空就是 hash -r 只清理一個就是 hash -d都是臨時的
help enadle看全部的內部命令
type 判斷是內部還是外部命令
當出現同名的時候用它 type -a來查
調用的時候把內部命令關閉 enable -n ‘命令名’ 這個只是暫時的
解開 enable “命令名”
which 查看外部命令路徑
whereis 查看外部命令路徑外加幫助
alias ‘別名’ = ‘命令行’ 設置別名別出現重覆的命令別名優先不輸就可看到全部的別名註;只存記憶體 如果非要設置同名當調用的時候加個 \‘別名’就把別名關閉了
unalias 別名 關閉別名
uptime 查看開機時間
lsblk 查看磁碟
cat /proc/partitions同上
COMMAND [OPTIONS...] [ARGUMENTS..]
選項:用於啟用或關閉命令的某個或某些功能
·短選項:UNIX風格選項,-c例如:-1,-h
·長選項:GNU風格選項,--word例如:--all,--human
•BSD風格選項:一個字母,例如:a,使用相對較少參數:命令的作用對象,比如:文件名,用戶名等範例:
[16:28:27 root@centos8 ~]#id -u wang
1000
[root@centos8 ~]#1s -a
[root@centos8 ~]#ls --al1
[root@centos8 ~]#free -h
[root@centos8 ~]#free --human
[root@centos8 ~]#ps a
註意:
·多個選項以及多參數和命令之間使用空白字元分隔
·取消和結束命令執行:Ctrl+c,Ctrl+d c強行退出 d正常退出
·多個命令可以用“;”符號分開
·一個命令可以用\分成多行
-l文件的詳細格式
-a顯示全部文件
cat /etc/os-releasr 查看髮型版本
clock系統時間 加-s或hctosys讓軟體時間一樣和系統時間一樣 加-w 讓系統時間和軟體時間一樣
date 當前時間軟體時間
date+%f今天日期可創建文件
timedatectl list-timezones查看時區
timedatectl set-timezxone “時區名”更改時區
更改時間
cal 日曆
shutdown ‘加時間’設置關機時間也可指定時間關機關閉指定關機時間就是加-c
shutdown -r
reboot -f強制關機-p斷電重啟init 6重啟0guanji halt關機 poweroff [19:39:50 root@centos8 ~]# cd /etc/yum.repos.d/
[19:41:44 root@centos8 yum.repos.d]#ls
CentOS-AppStream.repo CentOS-centosplus.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-CR.repo CentOS-Extras.repo CentOS-HA.repo CentOS-PowerTools.repo CentOS-Vault.repo
[19:41:48 root@centos8 yum.repos.d]#ls
CentOS-AppStream.repo CentOS-centosplus.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-CR.repo CentOS-Extras.repo CentOS-HA.repo CentOS-PowerTools.repo CentOS-Vault.repo
[19:42:23 root@centos8 yum.repos.d]#mkdir backup
[19:48:24 root@centos8 yum.repos.d]#mv *.repo backup
[19:49:04 root@centos8 yum.repos.d]#ls
backup
[19:49:06 root@centos8 yum.repos.d]#cd
dnf install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
建立連接 先下載 yum -y install screen
screen 命令:screen -S ‘help’ sereen -ls 看有沒有‘help’然後 screen -x ‘heip’
https://blog.csdn.net/weixin_39841572/article/details/111643551 tmux簡單解析
下載命令
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repocd /etc/yum.repos.d/
mkdir backup
mv *.repo backup
yum -y install screen
tmux:
上下分窗
tmux split-window
ctrl+b,"
左右分窗格
tmux split-window -h
ctr1+b,%
窗格快捷鍵
Ctr1+b%:劃分左右兩個窗格
ctrl+b":劃分上下兩個窗格
ctrl+b<arrow key>:游標切換到其他窗格。<arrow key>是指向要切換到的窗格的方向鍵,比如切換到下方窗格,就按方向鍵
ctrl+b;:游標切換到上一個窗格ctrl+b o: 游標切換到下一個窗格。
ctrl+b{:當前窗格左移
ctrl+b}:當前窗格右移ctrl+bctrl+o:當前窗格上移Ctrl+b Alt+o:當前窗格下移
Ctr1+b x: 關閉當前窗格
Ctrl+b!:將當前窗格拆分為一個獨立視窗
Ctrl+b z:當前窗格全屏顯示,再使用一次會變回原來大小
sleep 和Python一樣
touch 創建新空文件
\ 表示一個命令沒敲完接下一行敲
tab建自動補全
雙擊Tab鍵
·command 2Tab 所有子命令或文件補全
·string2Tab 以string開頭命令
·/2Tab 顯示所有根目錄下一級目錄,包括隱藏目錄
·./2Tab 當前目錄下子目錄,包括隱藏目錄
·*2Tab 當前目錄下子目錄,不包括隱藏目錄
•~2Tab 所有用戶列表
• $2Tab 所有變數
·@2Tab /etc/hosts記錄 (centos7不支持)
·=2Tab相當於Is-A(centos7不支持)
歷史命令文件cat .bash_history 本次開機歷史命令history history -c本次開機命令不會載入到記憶體
只記錄1000條命令nano /etc/profile 更改命令條數
echo $HISTSIZE 查看命令條數
壞事 先刪除文件 rm -f .bash 在 history -c
-c:清空命令歷史
·-d offset:刪除歷史中指定的第offset個命令
-顯示最近的n條歷史
·-a:追加本次會話新執行的命令歷史列表至歷史文件
·-r:讀歷史文件附加到歷史列表
·-w:保存歷史列表到指定的歷史文件
·-n:讀歷史文件中未讀過的行到歷史列表
·-P:展開歷史參數成多行,但不存在歷史列表中
·-s:展開歷史參數成一行,附加在歷史列表後 假命令
調用歷史命令
(7條消息) Linux 中history命令詳解_漣漪海洋的博客-CSDN博客_linux history
!加命令編號 正序執行命令
!-加命令編號 倒敘執行命令
export HISTTIMEFORMAT="%F %T `whoami` " 更改編號
只調用參數上一個參數
bash 快捷鍵
whatis幫助查詢命令
查看內部命令幫助
help “命令”
man “命令”
man bash /往下搜 ?往上搜加n繼續往上搜 全部內部命令幫助
外部命令幫助
“命令”--help “命令”-h
有的支持—help 有的支持 -h
which -n 命令
man
開機前設置
2.1 普通登錄前
當前系統啟動後,登錄前的提示信息為:
CentOS Linux 7 (Core)
Kernel 3.10.0-693.2.2.el7.x86_64 on an x86_64
在登錄系統輸入用戶名之前,可以看到如上圖所示的信息,這裡會顯示 linux 發行版本名稱,內核版本號,日期,機器信息等等信息,要設置的話,首先打開 /etc/issue 文件,可以看到裡面是這樣一段"Welcome to -kernel 後接各項參數\"
後接的參數的各項說明:
\d 顯示當前日期;
\l 顯示虛擬控制台號;
\m 顯示機器類型,即 CPU 架構,如 i386 或 x86_64 等(相當於 uname -m);
\n 顯示主機的網路名(相當於 uname -n);
\o 顯示功能變數名稱;
\r 顯示 Kernel 內核版本號(相當於
uname -r);
\t 顯示當前時間;
\s 顯示當前操作系統名稱;
\u 顯示當前登錄用戶的編號,\U 顯示當前登錄用戶的編號和用戶;
\v 顯示當前操作系統的版本日期;
當前信息為:
[root@ryan ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@ryan ~]#
修改為:
[root@ryan ~]# cat /etc/issue
\S
Kernel \r on an \m
\t \d
[root@ryan ~]#
修改後顯示如下,多了個時間和日期:
總結:修改 /etc/issue 文件。
註意:只會在普通登錄時才會顯示,遠程 ssh 連接的時候並不會顯示此信息。
2.2 ssh 輸入用戶名後歡迎信息設置
當前輸入用戶後,並沒有顯示任何歡迎信息,而是直接彈出輸入密碼提示。
查看 /etc/ssh/sshd_config 中的 Banner 設置,顯示當前沒有定義該文件:
[root@ryan ~]# cat /etc/ssh/sshd_config -n |grep -i Banner
112 # no default banner path
113 #Banner none
在其中添加對應的 Banner 文件路徑:
Banner /etc/ssh/banner
然後在自己創建 /etc/ssh/banner 文件,文件內容即為輸入用戶名後的歡迎信息。
比如添加:Welcome to ryan's World
修改完 /etc/ssh/sshd_config 文件後,執行如下命令重新載入:
service sshd reload
重新登錄用戶名,發現顯示了歡迎信息;
login as: xxxx
Welcome to ryan's World
xxxx@xxxx's password:
總結:修改 /etc/ssh/sshd_config 文件,添加 Banner 項,並創建 Banner 對應的文件。
註意:此信息只在 ssh 輸入用戶名後顯示,在普通登錄輸入用戶名後不顯示。
2.3 ssh 輸入密碼後歡迎信息設置
當前輸入密碼登錄後的提示信息為:
Last login: Mon Feb 26 23:01:47 2018
Welcome to Alibaba Cloud Elastic Compute Service !
[root@ryan ~]#
可以修改 /etc/motd 文件,定義 ssh 成功登錄後的歡迎信息。
比如添加:This is ryan's Server !
則顯示為:
總結:修改 /etc/motd 文件。
註意:此信息不僅在 ssh 輸入密碼成功登錄後顯示,而且在普通登錄成功後也會顯示。
不僅可以自定義文字,也可以使用如下網站提供的文字轉 Ascii 碼的功能,將自己需要的文字轉成不同樣式的字元:
鏈接在這issuehttp://www.network-science.de/ascii/