標籤:

linux整理

linux整理

來自專欄 隨手記事

#

ifconfig

(查看ip地址)

{

eth0 表示第一個網卡 ifconfig eth0 down/up 啟動or關閉

lo(lockback) 表示虛擬網卡,內循環

}

#ls

{

ls -l 顯示文件詳細信息

ls -a 顯示所有文件包含隱藏文件

ls -d 顯示目錄自身屬性

ls -root 顯示root信息

ls -ld ./test 查看文件

}

#cd{

cd 切換目錄

cd - 可進入上次所在的目錄

}

#cp {

cp -R /etc /test (-R遞歸所有子文件)

}

#mv{

mv 文件1 文件2 (移動並且改名)

}

#type{

type cd 顯示cd的類型,命令的腳本由誰提供

}

#rm{

rm -f testfile 刪除文件

rm -r test 刪除目錄

rm -rf etc 強制遞歸刪除所有

}

#pwd 顯示當前目錄

#passwd{

passwd Helen 改密碼

/etc/passwd 存放用戶密碼

}

# printenv 顯示普通用戶信息

#date {

顯示系統時間

hwclock 顯示硬體時間

date -s 20:03:55 06/10/96

hwclock --hctosys 硬體改成和軟體時間相同

hwclock --systohc

手動設date然後讓hw和date一樣

}

#mkdir dir1 創建目錄

#rmdir dir1 刪除目錄

#useradd user1 創建用戶

#userdel user1 刪除用戶

#find{

find / -user user1 查詢用戶user1的所有文件

find /etc -name catalina.out 按名稱查找

find /etc -name catalina* 通配符

find /etc -name catalina???? 通配符一個?號代表一個字元

find /etc -size +204800 文件大小 大於 單位位元組

find /etc -size -204800 文件大小 小於

find /etc -size +16800 -a -size -204800 (查找大於16800並且小於 204800的文件 -a=and -o=-or )

find /etc -type

按時間查找{

1.天 ctime atime mtime

2.分鐘 cmin amin mmin

c= change 文件屬性被改過(所屬組,所有者)

a=access 文件被訪問

m=modify 文件內容被修改過

find /etc -mmin -120 120分鐘之內被修改過

find /etc -mmin +120 超過120分鐘被修改過

}

}

secureCRT客戶端亂碼 選項-->會話選項-->外觀{

快捷鍵: ctrl + L 清屏

ctrl + u 刪除前面敲的代碼

}

#cat{

cat /etc/sysconfig/network-scripts/ifcfg-eth0 查看網卡1的信息

}

#more {

more /etc

空格或f 下一頁,enter下一行 q退出

}

#grep{

按文本內容查找

grep -v "^#" /etc/init.bak | more 去掉以#好開頭的行,並查看

}

#head{

head 20 /etc/services 顯示文件前幾行

}

#tail{

tail -fn 200 catalina.out 顯示文件最後幾行

}

#gzip{

文件壓縮,可以實現與window的共享 .zip

1.只能壓縮文件不能壓縮目錄

2.不保留源文件

3.zip壓縮 會保留源文件

4.解壓縮 gunzip newfile,gz

5.gzip -d

6.gzip newfile ==> newfile.gz

7.gunzip dir1.tar.gz ==>dir1.tar

8.tar -xf dir1.tar

}

#tar{

tar -zcvf dir1.tar.gz dir1 將文件dir1壓縮成fir1.tar.gz

tar. -zvxf dir1.tar.gz

}

#zip{

zip newfile.zip newfile 解壓

zip -r newfir.zip new fir (壓縮目錄)

unzip newfir.zip 解壓

}

#bz2{

bzip2 -k newfile

bunzip2 newfile bz2

}

# ln{ 建立軟鏈接,硬鏈接相當於copy

ln -s /etc/issue /issue.soft

ls -l /etc/issue /issue.soft

}

#echo{

echo "this is addtion" >> /etc/issue

cat /etc/issue /issue.soft /issue.hard 查看穩健內容

}

#su{ 切換用戶

su - helen(用戶名)

su 切換管理員

}

# service network restart 重啟網路

#man 查看命令手冊

#whereis man 查看命令的位置,一般在(/usr/bin

下)

#which touch (顯示touch的路徑)

#whatis 表是命令的簡單用法

#ls --help 只列出相應的選項

#chmod{

修改文件許可權

chmod 777 ./etc

許可權管理:drwx:rwx: rwx(d表示文件類型,x表示執行的許可權即可進入目錄,w表示寫 和刪除許可權 r=4 w=2 x=1 記憶:可讀可寫可執行。所有者許可權:所屬組許可權:其他人許可權 )

}

#chown{ 改變文件所有者

chown helen /etc

}

用戶管理{

查詢用戶總數 wc -l /etc/passwd

/etc/passwd中

root:x:0:0:root:/root:/bin/bash(1:2:3:4:5:6:7)

1表示用戶

2表示密碼位(非密碼本生)

3表示uid uid=0表示超級用戶 uid=1~499 系統安裝時自動生成的偽用戶

uid=500~6000 手工添加的普通用戶

4表示GID 組ID 添加的用戶必定會有一個組,比如預設組

5表示描述信息

6宿主目錄:存儲基本信息,不設置會自動放在/home下

7 用戶使的命令解釋器shell 默認為bash

保存的密碼文件 /etc/shadow

}

# umask -s 查看文件默認許可權

linux安裝:{

典型->安裝鏡像(iso ->根據喜好->mycentos

->root 2012 用戶名 ->自己定義 ->next -> finish->改CD /DVD(移動硬碟) ->使用自己的ios 最好不換

選第一個->skip ->中文next ->english next ->next ->基本的存儲設備 ->忽略->主機名 不變 ->建立自己的分區結構->如果sd硬碟則順序為sda sdb sdc或者 hda hdb hdc

-> 點擊空閑創建 ->標準分區(第一個文件:掛載點"/" 類型ext3 大小1000M,固定大小)【swap(虛擬區),文件類型 swap使用其餘空間】 ->下一步 ->Basic

Service ->重啟 ->此時把CD/DVD選擇使用物理 ->

}

linux 目錄級別{

/(root)

--home

-- etc

--tmp

}

關於聯網{

編輯 -->必須有一個NAT -->第二步反鍵設置 -->網路適配器 -->橋接模式 -->

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=172.31.197.209

NETMASK=255.255.240.0

- -> ifup eth0 激活網卡

}

linux快捷安裝{

快捷建立虛擬機:典型 ->稍後安裝 -> centos64位->下一步 ->下一步(單個文件)->完成 ->再將ios導入DCD即可

}

window 安裝{

裝系統->自己的U盤 window7 -> 系統安裝 ->CD驅動器 ->載入光碟->source ->install.tool

}

輸入重定向{

> 清空文件添加內容

>> 最佳內容

cp -R /usr /backup/use.bak >> /bak.error (備份/usr 到use.bak 如果報錯日誌寫到 bak.error)

}

輸出重定向{

wall < /etc/issue.net 廣播issue.net的內容

}

管道{

ls -l /etc/ss.out | more 將輸出作為下一個命令的輸入

ps -ef | grep tomcat | wc -l 輸出文字中包含tomcat的總行數(wc-l 統計總行數)

}

多命令組合執行{

pwd : ls : date (:表示順序執行)

&& 第一個執行成功後第二個才會執行

|| 第一個失敗第二個也執行

}

命令替換{

#ls -l `

which touch` 將wiich的輸出結果作為ls -l的參數

}

#wirte{

send a message to another user

write helen < /etc/ss.txt || mail henlen < /etc/ss.txt

}

#wall{

向所有的用戶廣播信息

}

網路通信{

ping -c 3 192.168.1.1 只發三個簡訊包

ping -t 192.168.1.1 查看可操作的選項

ifconfig eth0 192.168.1.108 修改網卡eth0的ip

shutdown -h now 立刻關閉伺服器

reboot 重啟

init 6 重啟

arp -a 查看近期鏈接到主機的電腦ip和mac

arp -d 192.168.2.2 刪除記錄

arp -s ip mac 添加arp靜態記錄 永久有效,知道自己的mac 去詢問自己的ip地址

}

#history{

查看歷史命令

}

定義別名 alias{

alias copy=cp

}

#vi{

vi cata.out

輸入i 開始編輯模式

wq保存退出 wq!強制退出

ESC退出編輯模式

輸入冒號進入命令模式

命令以回車鍵結束

gg 首行 G末行 :set nu 設置行號 set nonu 取消行號

:888 調到888行 hjkl 上下左右

命令模式下游標+x 刪除字元 ,『dd』刪除行 ,『D』刪除游標到行尾,『u』 恢復之前的刪除操作

「/ftp」 查找ftp 按n/N 上下查找

}

#ps{

查詢進程

ps -le | more

ps -ef | grep tomcat

ps -anp | grep 8080

ps -aux | grep 8080

ps -l 或ps -u 顯示所有進程信息

ps -le or ps -aux 查看所有用戶執行的進程的詳細信息

/etc/rc.d/init.d/httpd status 也可以查看進程信息

ps -aux | grep root 按用戶查看進程信息

ps -all yu 查看用戶yu的所有進程信息

}

kill{

關閉進程

/etc/rc.d/init.d/httpd start/stop 啟動或關閉進程

kill 3567(kill pid)

kill -9 3567 強行關閉進程

kill -l 3567 重啟進程

kill all httpd 關閉進程樹

pgrep httpd 查看所有的pid

pkill httpd 關閉所有進程

kill -l `pgrep httpd`

}

#runlevel{

系統運行級別 N3表示未做修改,s3表示修改過

}

init{

切換系統運行級別

init 6 重啟

init 1 切換級別

ls /etc/rc.d/rc3.d/ 查詢運行級別為3的進程

ls /etc/rc.d/init.d/ 查看可以啟動的所有服務

/etc/rc.d/init.d/sshd start/stop/restart/status

}

程序自動執行{

vi /etc/rc.d/init.d/msg.script (msg.script不存在會自動創建)

修改許可權:chmod u+x

/etc/rc.d/init.d/msg.script (u+x 給所有者添加執行的許可權)

生成軟鏈接 ln -s

/etc/rc.d/init.d/msg.script /etc/rc.d/rc3.d/s100msg.script (和級別為3的服務一起執行)

chkconfig 查看每個級別可以運行的服務

}

linux啟動流程{

firmware(硬體監測)->bootloader(自舉程序) ->kernel(查內核版本) ->init(初始化) ->/etc/inittab(確定運行級別) ->init

default(初始化默認的運行級別)

->/etc/rc.d/rc.sysinit ->/etc/rc/d/rc ->/etc/rd.d/rc3.d ->用戶登陸

}

掛在光碟{

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

}

#rpm{

安裝 rpm -ivh 文件名

查詢已安裝的軟體: rpm -q sudo(查詢是否安裝命令)

rpm -qa | grep sudo 查詢已安裝的命令

rpm -ivh --replacefiles sudo 覆蓋安裝

rpm -ivh -- nodeps sudo 強制安裝

rpm -e sudo 卸載

rpm -e --nodeps sudo 強制卸載

rpm -urh sudo-1.8.0 升級

rpm -qf sudo 求父包

rpm -qi sudo 查找軟體包

rpm -qiq sudo查找軟體包

rpm -qlq sudo

rpm -ql sudo 未安裝信息

}

#yum{

好處:自動解決依賴並可以自動更新

yum install -y sudo (所有的過程都yes)

yum groupinstall -y "sudo" 安裝群組

yum check-update sudo 監測升級

yum remove httpd 卸載

yum list | grep sudo 查詢

yum info sudo 軟體包信息

yum grouplist | more udesk 查看是否安裝了桌面環境組件

./configure

--prefix=/usr/local/proftpd 指定安裝位置

}

#make{

make 編譯可執行文件

make install 安裝

}

#jobs{

jobs 查看被掛起的進程

fg 1 進程恢復到前台

bg 1 進程恢復到後台

}

#top{

top 每5s刷新一次進程狀態

top 進去之後再直接按(d:指定間隔,h:獲取幫助信息)

}

#at{

計劃任務,安排一個或多個命令在指定時間運行一次

at now +5

}

crontab{

分鐘 小時 天 月 星期

51 21 19 9 5 /usr/bin/wall <

/test/newfile

ps -le | grep crond

/etc/rc.d/init.d/crond

crontab -e 51 21 19

9 5 /usr/bin/wall < /test/newfile

}

文件管理系統{

1.文件系統構成

/usr/bin 存放所有用戶可執行的命令 比如yum

/usr/sbin 存放系統管理員可以執行的命令

/home 用戶預設宿主目錄

/proc 存放當前所有進程信息

/dev 存放設備文件

/lib 存放系統程序運行所需的共享庫

/lost+found 存放檢查錯誤結果

/temp 存放臨時文件

/etc 系統配置文件

/var 包含經常變動的文件入日誌和郵件

/usr 存放所有的命令庫手冊

/mnt 臨時文件系統安裝點

/boot 啟動信息目錄 當前內核

/usr/local 安裝第三方軟體

}

#df{

df -h 查看分區磁碟佔用比

}

#du{

du -h /etc/ss.txt 查看文件大小

}

#file{

file /etc/ss.txt 文件信息

}

#mount{

mount /dev/sr0 /mnt/cdrom 掛在光碟

umount /mnt/cdrom 卸載光碟

}

添加硬碟{

vm設置中點擊硬碟-->點擊add -->next -->scsj -->創建新的 -->io單個文件

dmesg | grep sdb 查看是否安裝成功

}

shell編程{

1.touch ./start.sh 穿件文件

2. chmod u+x start.sh 賦予許可權

3.sh ./start.sh 或者

./start.sh 執行文件

4.variable(變數) type{

臨時變數temporay 用戶自定義變數

永久變數 permanent 環境變數

聲明臨時變數 #num=100 (等號兩邊沒有空格)

輸出 #echo

$num

#TIME=`date` 將date命令的結果賦值給TIME

#A=$num

#ABC="M H"

#time=$(date +%F)

單引號和雙引號區別{

#ABC="time is $time" (time is 2014-03-23)

#ABC=time is $time (time is $time)

#unset ABC 刪除變數ABC

}

如果ss.sh中的腳本為 ls -l file1 file2 file3

位置變數和特殊變數:sh ./ss.sh /etc 則/etc 對應於/file1

在shell文本中用$n表示(n=1~9)此處n=1

/bin/tar -cf /etc/$1 $date.tar $1>/dev/nul

cp /back $1.$date.tar

}

$# 所有參數的個數

#? 上一方法的返回值

$0 此方法名

$* 這個方法的所有參數

$$ 這個方法的pid

$? 執行上一個方法的返回值

}

sh -x read 顯示過程

變數的運算 expr 3 + 5

expr 5 - 5 100 / 3 3 * 10

賦值 value=`expr $a +$b +$c`

if for select

while [ ]

do

ls -l /etc

break

done

關於shift.sh 中 主要是將第二個參數向前進以為

檢查語法錯誤 sh -x script(斷點調試)

sh -n script 返回所有語法錯誤

}


推薦閱讀:

您最喜歡使用哪個 Linux 發行版作為桌面使用?為什麼?
如何學會使用 Linux 操作系統?
System V 共享內存 原理 疑惑求解?
如何正確為 Noto Sans CJK 配置 fontconfig 使中文不會被顯示為日文字型?
Mir 和 Wayland 等 X11 替代品,相比 X11 有哪些具體的優點?

TAG:Linux |