linux learning notes20210112

//ubuntu
whoami
who
cd /
ls -alhjava

usermod -G / -g / -s /bin/bash 用戶名python

which ls/pwd/mkdir/mkdir/chmod/passwd/
which useraddlinux

systemctl start ssh
systemctl status ssh
sudo useradd -m -g hhs heshan
sudo usermod -s /bin/bash heshan
sudo usermod -a G sudo heshangit

加用戶組shell

groupadd groupname  添加用戶組
groupdel groupname  刪除用戶組
PS:關於組的增長和刪除信息會在etc目錄的group文件中找到 命令cat /etc/group 能夠看到本身的分組和分組id
關於修改用戶權限有一個簡單粗暴的方法  
直接vi /etc/password  進行修改   是否是很暴力。。。
下面說正事兒,關於uid:
0 表示管理員(root)
1 - 500 表示系統用戶
501 - 65535 表示普通用戶  通常是這樣的,不過不一樣的Linux版本可能有些誤差ubuntu

 chown [-cfhvR] [--help] [--version] user[:group] file... 
su -  / su 用戶名 /su - 用戶名  su 的三種用法   sudo su - 回到root目錄下 vim

sudo useradd -m -g dev zhaoliu
cat -n /etc/passwd | grep zhaoliu
passwd zhaoliu [username]windows

sudo userdel -r  zhaoliu刪除先關用戶
ls /home 查看有幾個用戶
修改問價權限的命令
chown 修改擁有者
chgrp 修改組
chmod 修改權限centos

chown 用戶名 文件名 |目錄名
chgrp -R【遞歸修改子目錄】 組名 文件名 |目錄名
chmod -R 755 文件名|目錄名
三個數字  擁有者、組、其餘用戶的權限bash

chmod +/- rwx 文件名|目錄名
sudo chmod -R 777 文件名|目錄名

修改全部目錄以及目錄下的全部文件權限
chmod -R 775 目錄


linux-centos-redhat-kali-ubuntu
python

系統信息相關命令
時間和日期
date
cal -y 選項查看一年的日曆

磁盤和目錄空間
df  -h    disk free顯示磁盤剩餘空間
du   -h   disk usage 顯示目錄下的文件大小

進程信息
ps      ps process status
ps  aux
a:顯示終端上全部的進程信息 包括其餘用戶的進程
u:顯示進程的詳細專題太
x:顯示沒有控制終端的進程


top     q 退出top進程表 實時更新的進程表
kill 最好只終止當前用戶開啓的進程,而不要終止root身份開啓的進程 不然可能致使系統崩潰

pid 進程代號
%cpu
%mem


kill -9 +進程號pid

other command
find
ln
tar
apt-get

find 查找文件  
find {路徑} -name ".py"
不加 {路徑}表示查詢當前文件件下的查找
通配符 * 表示任意字符

find -name "*.txt"
find Desktop/ -name "*.txt"


//文件的軟鏈接--快捷方式

建立文件的軟鏈接  ----
ln -s 被鏈接的源文件(實際文件夾)  連接文件(快捷方式)
源文件是絕對路徑 不能使用相對路徑
一、移動文件 某個文件 到 demo/b/c  目錄下
二、在桌面目錄下新建01.py 的 軟鏈接  firstpython
三、將firstpython 移動到demo目錄下  對比使用相對路徑和絕對路勁的差別


mv 01.py /demo/b/
ln -s /home/python/Desktop/demo/b/c/01.py 01_juedui

/home/cosmo/Desktop/ 

硬連接 是什麼意思?
創建硬連接以後 是能夠保存 連接文件下的源文件的
ln 後面不添加(-s)則創建硬連接  

linux 中 文件名和文件的數據是分開存儲的

硬連接   就是文件的另外一個文件名

在平常工做中,幾乎不會創建文件的硬連接 知道便可


軟連接遠多於硬連接的使用

打包壓縮
windows rar
Mac   zip
linux tar.gz
tar是linux 經常使用的備份工具  把一系列文件打包到一個大文件中 也能夠吧一個打包的大文件 恢復成一系列文件
tar -cvf 打包文件名.tar
tar -xvf 打包文件名.tar 
c 生成檔案文件 建立打包文件
x 解開檔案文件
v 列出歸檔解檔的詳細過程 顯示進度
f 指定檔案文件名稱 f 後面 必定是.tar 文件 因此必須放在選項最後
其餘選項順序能夠隨意

rm -r *  刪除全部文件及文件夾

打包tar -cvf py.tar 01.py 02,py 03.py
mkdir tar  
mv py.tar tar


壓縮和解壓縮

gzip

linux中使用gzip 生成 tar.gz
tar -zcvf +壓縮文件  -z調用gzip功能
tar -zxvf +解壓縮文件

bzip2     
tar -jcvf tarname.bz2 +壓縮文件、文件名 
tar -jxvf tarname.bz2

-C 選項

sudo apt install sl
sudo apt intall htop


vi / vim 
vi=visual interface
vim=vi improved
代碼補全、編譯、錯誤跳轉 編輯器之神


vim

yy 19p

which vi 
ls -l /usr/bin/vi
ls -l /usr/alternativers/vi
ls -l /usr/bin/vim.basic

which vim
ls -l /usr/bin/vim
ls -l /usr/alternativers/vim
ls -l /usr/bin/vim.basic

vi heshan.txt +16 行數 

+   就是定位到最後一行 進行編輯文本
非正常退出 vi編輯器 會生成. swp 文件   交換文件 
從新打開 
o只讀  e直接編輯 r 恢復  刪除D  q退出
命令模式下:定位 翻頁、複製、粘貼、刪除……
\\\\\\\\\\\\\\\\\\\\\\
w
q
q!
wq!
x
1\\\\\\\\\\\\\\\、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
h向左
j向下
k向右
l向上
2\\\\\\\\\\\\\\\\
 w 向後移動一個單詞
 b 向前移動一個單詞
 0 行首
 ^第一個不是空白字符的位置
 $行尾
3\\\\\\\\\\\\\\\\\\\

行數移動
gg =go文件頂部
G =go 文件末尾
數字gg =go 移動到數字  對應的行數
數字 G   =go 移動到數字 對應的行數
:數字  移動到數字對應的行數 
4\\\\\\\\\\\\\\\\\\\\\
屏幕移動
ctrl+b =back向上翻頁
ctrl+f =forward向下翻頁
H  =head屏幕頂部
M  -middle屏幕中間
L  =LOW 屏幕底部
\\\\\\\\\\\\\\\\\\\\\

段落移動
編寫程序開發  一般{上一段  }下一段

括號切換
{}【】()
%切換匹配ctrl+5= %
\\\\\\

標記命令
mx mark 添加標記x,x是a-z  A-Z之間的任意一個字母
 'x 直接定位到標記x的位置 這個是標記是一個隱藏的功能 看不到標記
ESC 切換模式
可視行模式

v 可視模式
V 可視行模式
ctrl + v 可視塊模式


撤銷和恢復撤銷
d 刪除
u 恢復 undo 
ctrl+r  redo 
刪除命令/文本
x   cut  刪除光標所在字符,或者選中文字
d    delete 刪除移動命令對應的內容
dd   delete  刪除光標所在行,能夠ndd複製多行
D    delete  刪除至行尾

dw   從光標位置刪除到單詞末尾
d0    從光標位置刪除到一行的起始位置
d}    從光標位置刪除到段落結尾
ndd        從光標位置向下連續刪除 n 行
d代碼行G    從光標所在行 刪除到 指定代碼行之間的全部代碼
d'a   從光標所在行 刪除到 標記a 之間的全部代碼

複製和粘貼
y  copy 
yy  copy   nyy  y} 複製段落
p past

文本緩衝區
vi 其餘軟件中ctrl+c複製的內容  不能在vi 中直接粘貼

替換命令
r  replace 替換當前字符
R   replace 替換
R world esc

縮排 和重複執行 
>>
<<
.重複上次命令


route -n 查看路由信息
arp -d 192.168.150.2 && curl www.baidu.com
netstat -anptl

增長(Create)、檢索(Retrieve)、更新(Update)和刪除(Delete)

tcpdump 

tcpdump -i eth0 -s 0 -w a.cap
tcpdump -r a.cap
tcpdump -A -r a.cap   ascII
tcpdump -n -r a.cap | awk '{print $3}' | sort -ubuntu
tcpdump -n udp port 53 -r a.cap
$ tcpdump -i eth0 -nn -s0 -v port 80
-i : 選擇要捕獲的接口,一般是以太網卡或無線網卡,也能夠是 vlan 或其餘特殊接口。若是該系統上只有一個網絡接口,則無需指定。
-nn : 單個 n 表示不解析域名,直接顯示 IP;兩個 n 表示不解析域名和端口。這樣不只方便查看 IP 和端口號,並且在抓取大量數據時很是高效,由於域名解析會下降抓取速度。
-s0 : tcpdump 默認只會截取前 96 字節的內容,要想截取全部的報文內容,可使用 -s number, number 就是你要截取的報文字節數,若是是 0 的話,表示截取報文所有內容。
-v : 使用 -v,-vv 和 -vvv 來顯示更多的詳細信息,一般會顯示更多與特定協議相關的信息。
port 80 : 這是一個常見的端口過濾器,表示僅抓取 80 端口上的流量,一般是 HTTP。

錯誤: 找不到或沒法加載主類 cosmo.test.test1
緣由: java.lang.ClassNotFoundException: cosmo.test.test1

find / -name  'interfaces'「

permitrootlogin prohibit-password
changto 
permitrootlogin yes

root修改密碼
一、進入e
二、utf-8\rd.bresk
三、chroot /sysroo
四、passwd
五、reboot

man man 
/man
?E


echo a
a=10
echo $a
a=20
echo $20
A=/etc/sysconfig
cd $A

echo $SHELL
date
date -s  "20201229 12:08:00 "
date "+%Y/%m/%d %H:%,M:%S"
reboot
poweroff

wget -c//-c表示斷點續存

ll=l -l
ifconfig 
who 
whoami
uname 
cat /etc/redhat-rele
uname -r
3.10兼容虛擬機比較多
uname -a
查詢內核和版本號等
history -c清空
history -d num 
指定刪除某一條記錄 
history 默認保存1000條命令
/etc/profile --HISTIZE
source /etc/profile

cd /etc/sysconfig
cd  /root/
history
~ 118(直接使用這個命令  重複命令)
選擇性的保留相關命令

cd /etc/sysconfig
vim    /etc/sysconfig
HISTCONTROL=ignorespace
source /etc/profile  
nmap 命令
nmap  -sS  -p-  -Pn  -sV  <ip>
 kali上用nmap能根據目標IP地址掃描出目標是什麼操做系統

cat filename  
more filename
less filename
head filename 
tai filename

cat /etc/httpd/conf/httpd.conf
head filename    -n5 輸出頭部5行
tai filename
tail -f /var/log/messages   -f動態顯示系統日誌


wc -l filename      統計數
    -c  字節數  -l 行數  -w 單詞數

mkdir /root/linux/thimo -p    [-p遞歸]
touch 
cp -r 源文件 目的文件  -r  遞歸   -a參數  all  所有
mv 源文件  目標文件   至關於windows 剪切命令
rm -rf  filename   -rf 表示 r目錄recursion  f 表示強制  force
mv  thinkmo/  /tmp/ 
反選
grep -v "root " /etc/passwd


man cd cp rm  touch mkdir 重要參數
通配符  管道符
轉義字符
一、輸入輸出重定向、環境變量
二、用戶與用戶組
三、文件類型與文件權限(普通權限、特殊權限、隱藏權限)
一、
輸入重定向把文件導入命令中
輸出重定向本來輸出到屏幕的數據寫入到文本中

標準輸入重定向  STDIN 文件描述符 0  默認鍵盤輸入
標準輸出重定向  STDOUT描述符1 默認輸入到全部終端、屏幕
錯誤輸出重定向 STDERR 描述符2 默認輸出到屏幕

bc
free
halt
init 0 3 5 6
ifconfig
poweroff
runlevel
tty
startx
uname -r
who -r
shoami
who am i


////////////////////////////////////////////

BIOS

GNOME  -terminal 
KDE koconsle -teminal
type cat / pwd
一、用戶管理  添加刪除
二、權限管理
三、磁盤管理 分區 raid lvm
四、軟件管理
五、網絡管理

#root    管理員用戶
$heshan 普通用戶

BASH SHELL
head  /etc/passwd

root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

 
ls  /bin/bash -l

d  目錄文件
i  連接文件
b  塊設備文件
c 字符設備文件
p 管道文件
-:  表示普通文件

linux不一樣顏色表明不一樣的文件
藍色   目錄   /etc
黑色   文件   /etc/passwd
淺藍色  連接  /etc/grub2.cfg
紅色  壓縮包  boot.tar.gz
綠色  可執行文件 /etc/init.d/network
黑底黃字   設備文件 /dev/sda
ls -d /etc 看文件

ls -lS /boot/

ll   = ls -l
type ll 


alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
       unalias   取消別名   =  非永久別名、
如何設置永久別名

vim /root/.bashrc
添加
alias vimens33='vim /etc/……'
生效  source /root/.bashrc

vim /etc/bashrc
修改後 全部用戶有權限 使用alias

ctrl+l
ctrl+d
ctrl+c
ctrl+r
cat /etc/hosts
vim !$ 至關於 上一個命令的 

查看硬件時間
hwclock
查看系統時間
date

--help
-s --set =STRING
date -s "2020 - 8 - 6  22:07"
date "+%F"
顯示年月日
date "+%Y-%M-%D-%H-%M-%S"
date "+%Y/%M/%D/%H/%M/%S"
date "+%Y:%M:%D:」%H:%M:%S"
date -d "+1 months" +%F


time ls -l /etc/
測試一個命令的時間   作調優用
real  實際使用的時間
user 用戶狀態使用的時間
sys 內核狀態使用的時間

man find 老手使用的命令

shutdown 
init 0
reboot
poweroff

shutdown -h +10
shutdown -r 23:30
shutdown -h now
shutdown -c 

init 0-6
0表明關機
1表明單用戶使用  
2表明多用戶的使用 沒有NFS 和網絡支持
3 完整的多用戶文本模式  有NFS 用戶和網絡支持  登陸後進入控制檯命令行模式   最經常使用
4系統未使用
5 啓動到用戶 圖形化模式  登陸後  進入GUI   X WINDOWS 
 centos 8再也不使用.etc/inittab 
systemctl get-default
systemctl isolate  multi-user.target         3   切換爲字符界面
systemctl set-default multi-user.target      設置默認第三啓動模式  字符界面
systemctl  set-default graphical.target        設置默認第五啓動模式   圖形化界面
systemctl isolate  graphical.target        5   切換爲圖形界面

startx 開啓一個圖形界面

runlevel
init 5

2.6 實戰  設置服務器來電後自動開機
integrated per 
super IO device press enter
restore on ac power loss power off  -->>  power on  若加電以前斷電狀態 選擇 last state
2.7設置服務器定時開機

svn -git 代碼管理服務器

power management 

wake up event setup press enter
resume by rtc alarm 
date HH:MM:SS

/////
mount /dev/sr0
mount /dev/cdrom
ll /dev/cdrom
mount /dev/cdrom  /mnt

rpm -ivh /mnt/BaseOS/packet
查看文件類型  file /user/bin/find


ls /boot/
uname -r


cat /proc/cpuinfo
/run /proc /mnt /sys /sbin /tem 
ls /bin 
ls /sbin


touch .file {6....20}
ehco aaa >  xuegod.txt   重定向輸出
echo aaa 


dnf
iptables
firewalld
nettables
systemctl resstart network NetworkManager
nmcli   centos 8 啓動網卡
mkdir
mkdir -p /a/b/b/b/b
ls /home/

elk  ELK EFK   //ver   ^^^
shell 腳本  記住一種命令 永遠不會忘掉

rm -rf a.txt 直接刪除一個 文件

cp 源文件/目錄   目標文件/目錄
-R/r 11:56 2021/1/3

mv passwd dir1
mv xuegod.txt /opt/a.xtxt

more
less
head  顯示前十行
tail顯示後十行

XFS文件系統的備份和恢復

xfsdump xfsrestore

df -T
xfdump -f /opt/dump_sda1_v2  /dev/sdb1 -L dump_sdb1_v2 -M  sdb1_is_bigdata

增量備份和恢復必須按照必定的順序進行 徹底備份  增量1   增量2   恢復備份  增量1  增量2

相關文章
相關標籤/搜索