太多了,比如:文件創建、文件許可權、文件的壓縮解壓縮、刪除、創建、掛載、系統配置等等基礎命令。還有編程要用到的gcc編譯命令等等。建議你買本相關的書籍學習並練習吧。
2. linux基礎命令
Linux常用命令大全
系統信息
arch 顯示機器的處理器架構(1)
uname -m 顯示機器的處理器架構(2)
uname -r 顯示正在使用的內核版本
dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 羅列一個磁碟的架構特性
hdparm -tT /dev/sda 在磁碟上執行測試性讀取操作
cat /proc/cpuinfo 顯示CPU info的信息
cat /proc/interrupts 顯示中斷
cat /proc/meminfo 校驗內存使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示內核的版本
cat /proc/net/dev 顯示網路適配器及統計
cat /proc/mounts 顯示已載入的文件系統
lspci -tv 羅列 PCI 設備
lsusb -tv 顯示 USB 設備
date 顯示系統日期
cal 2007 顯示2007年的日歷表
date 041217002007.00 設置日期和時間 - 月日時分年.秒
clock -w 將時間修改保存到 BIOS
關機 (系統的關機、重啟以及登出 )
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 注銷
文件和目錄
cd /home 進入 '/ home' 目錄'
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 返回上次所在的目錄
pwd 顯示工作路徑
ls 查看目錄中的文件
ls -F 查看目錄中的文件
ls -l 顯示文件和目錄的詳細資料
ls -a 顯示隱藏文件
ls *[0-9]* 顯示包含數字的文件名和目錄名
tree 顯示文件和目錄由根目錄開始的樹形結構(1)
lstree 顯示文件和目錄由根目錄開始的樹形結構(2)
mkdir dir1 創建一個叫做 'dir1' 的目錄'
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
rm -f file1 刪除一個叫做 'file1' 的文件'
rmdir dir1 刪除一個叫做 'dir1' 的目錄'
rm -rf dir1 刪除一個叫做 'dir1' 的目錄並同時刪除其內容
rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容
mv dir1 new_dir 重命名/移動 一個目錄
cp file1 file2 復制一個文件
cp dir/* . 復制一個目錄下的所有文件到當前工作目錄
cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄
cp -a dir1 dir2 復制一個目錄
ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接
ln file1 lnk1 創建一個指向文件或目錄的物理鏈接
touch -t 0712250000 file1 修改一個文件或目錄的時間戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的編碼
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
文件搜索
find / -name file1 從 '/' 開始進入根文件系統搜索文件和目錄
find / -user user1 搜索屬於用戶 'user1' 的文件和目錄
find /home/user1 -name \*.bin 在目錄 '/ home/user1' 中搜索帶有'.bin' 結尾的文件
find /usr/bin -type f -atime +100 搜索在過去100天內未被使用過的執行文件
find /usr/bin -type f -mtime -10 搜索在10天內被創建或者修改過的文件
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 結尾的文件並定義其許可權
find / -xdev -name \*.rpm 搜索以 '.rpm' 結尾的文件,忽略光碟機、捷盤等可移動設備
locate \*.ps 尋找以 '.ps' 結尾的文件 - 先運行 'updatedb' 命令
whereis halt 顯示一個二進制文件、源碼或man的位置
which halt 顯示一個二進制文件或可執行文件的完整路徑
掛載一個文件系統
mount /dev/hda2 /mnt/hda2 掛載一個叫做hda2的盤 - 確定目錄 '/ mnt/hda2' 已經存在
umount /dev/hda2 卸載一個叫做hda2的盤 - 先從掛載點 '/ mnt/hda2' 退出
fuser -km /mnt/hda2 當設備繁忙時強制卸載
umount -n /mnt/hda2 運行卸載操作而不寫入 /etc/mtab 文件- 當文件為只讀或當磁碟寫滿時非常有用
mount /dev/fd0 /mnt/floppy 掛載一個軟盤
mount /dev/cdrom /mnt/cdrom 掛載一個cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 掛載一個cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 掛載一個cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 掛載一個文件或ISO鏡像文件
mount -t vfat /dev/hda5 /mnt/hda5 掛載一個Windows FAT32文件系統
mount /dev/sda1 /mnt/usbdisk 掛載一個usb 捷盤或快閃記憶體設備
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 掛載一個windows網路共享
磁碟空間
df -h 顯示已經掛載的分區列表
ls -lSr |more 以尺寸大小排列文件和目錄
-sh dir1 估算目錄 'dir1' 已經使用的磁碟空間'
-sk * | sort -rn 以容量大小為依據依次顯示文件和目錄的大小
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小為依據依次顯示已安裝的rpm包所使用的空間 (fedora, redhat類系統)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小為依據顯示已安裝的deb包所使用的空間 (ubuntu, debian類系統)
返回頂部索引 ^
用戶和群組
groupadd group_name 創建一個新用戶組
groupdel group_name 刪除一個用戶組
groupmod -n new_group_name old_group_name 重命名一個用戶組
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 創建一個屬於 "admin" 用戶組的用戶
useradd user1 創建一個新用戶
userdel -r user1 刪除一個用戶 ( '-r' 排除主目錄)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用戶屬性
passwd 修改口令
passwd user1 修改一個用戶的口令 (只允許root執行)
chage -E 2005-12-31 user1 設置用戶口令的失效期限
pwck 檢查 '/etc/passwd' 的文件格式和語法修正以及存在的用戶
grpck 檢查 '/etc/passwd' 的文件格式和語法修正以及存在的群組
newgrp group_name 登陸進一個新的群組以改變新創建文件的預設群組
返回頂部索引 ^
文件的許可權 - 使用 "+" 設置許可權,使用 "-" 用於取消
ls -lh 顯示許可權
ls /tmp | pr -T5 -W$COLUMNS 將終端劃分成5欄顯示
chmod ugo+rwx directory1 設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(w)和執行(x)的許可權
chmod go-rwx directory1 刪除群組(g)與其他人(o)對目錄的讀寫執行許可權
chown user1 file1 改變一個文件的所有人屬性
chown -R user1 directory1 改變一個目錄的所有人屬性並同時改變改目錄下所有文件的屬性
chgrp group1 file1 改變文件的群組
chown user1:group1 file1 改變一個文件的所有人和群組屬性
find / -perm -u+s 羅列一個系統中所有使用了SUID控制的文件
chmod u+s /bin/file1 設置一個二進制文件的 SUID 位 - 運行該文件的用戶也被賦予和所有者同樣的許可權
chmod u-s /bin/file1 禁用一個二進制文件的 SUID位
chmod g+s /home/public 設置一個目錄的SGID 位 - 類似SUID ,不過這是針對目錄的
chmod g-s /home/public 禁用一個目錄的 SGID 位
chmod o+t /home/public 設置一個文件的 STIKY 位 - 只允許合法所有人刪除文件
chmod o-t /home/public 禁用一個目錄的 STIKY 位
返回頂部索引 ^
文件的特殊屬性 - 使用 "+" 設置許可權,使用 "-" 用於取消
chattr +a file1 只允許以追加方式讀寫文件
chattr +c file1 允許這個文件能被內核自動壓縮/解壓
chattr +d file1 在進行文件系統備份時,mp程序將忽略這個文件
chattr +i file1 設置成不可變的文件,不能被刪除、修改、重命名或者鏈接
chattr +s file1 允許一個文件被安全地刪除
chattr +S file1 一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁碟
chattr +u file1 若文件被刪除,系統會允許你在以後恢復這個被刪除的文件
lsattr 顯示特殊的屬性
返回頂部索引 ^
打包和壓縮文件
bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的文件
bzip2 file1 壓縮一個叫做 'file1' 的文件
gunzip file1.gz 解壓一個叫做 'file1.gz'的文件
gzip file1 壓縮一個叫做 'file1'的文件
gzip -9 file1 最大程度壓縮
rar a file1.rar test_file 創建一個叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1'
rar x file1.rar 解壓rar包
unrar x file1.rar 解壓rar包
tar -cvf archive.tar file1 創建一個非壓縮的 tarball
tar -cvf archive.tar file1 file2 dir1 創建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件
tar -tf archive.tar 顯示一個包中的內容
tar -xvf archive.tar 釋放一個包
tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下
tar -cvfj archive.tar.bz2 dir1 創建一個bzip2格式的壓縮包
tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包
tar -cvfz archive.tar.gz dir1 創建一個gzip格式的壓縮包
tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包
zip file1.zip file1 創建一個zip格式的壓縮包
zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
返回頂部索引 ^
RPM 包 - (Fedora, Redhat及類似系統)
rpm -ivh package.rpm 安裝一個rpm包
rpm -ivh --nodeeps package.rpm 安裝一個rpm包而忽略依賴關系警告
rpm -U package.rpm 更新一個rpm包但不改變其配置文件
rpm -F package.rpm 更新一個確定已經安裝的rpm包
rpm -e package_name.rpm 刪除一個rpm包
rpm -qa 顯示系統中所有已經安裝的rpm包
rpm -qa | grep httpd 顯示所有名稱中包含 "httpd" 字樣的rpm包
rpm -qi package_name 獲取一個已安裝包的特殊信息
rpm -qg "System Environment/Daemons" 顯示一個組件的rpm包
rpm -ql package_name 顯示一個已經安裝的rpm包提供的文件列表
rpm -qc package_name 顯示一個已經安裝的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 顯示與一個rpm包存在依賴關系的列表
rpm -q package_name --whatprovides 顯示一個rpm包所佔的體積
rpm -q package_name --scripts 顯示在安裝/刪除期間所執行的腳本l
rpm -q package_name --changelog 顯示一個rpm包的修改歷史
rpm -qf /etc/httpd/conf/httpd.conf 確認所給的文件由哪個rpm包所提供
rpm -qp package.rpm -l 顯示由一個尚未安裝的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 導入公鑰數字證書
rpm --checksig package.rpm 確認一個rpm包的完整性
rpm -qa gpg-pubkey 確認已安裝的所有rpm包的完整性
rpm -V package_name 檢查文件尺寸、 許可、類型、所有者、群組、MD5檢查以及最後修改時間
rpm -Va 檢查系統中所有已安裝的rpm包- 小心使用
rpm -Vp package.rpm 確認一個rpm包還未安裝
rpm2cpio package.rpm | cpio --extract --make-directories *bin* 從一個rpm包運行可執行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 從一個rpm源碼安裝一個構建好的包
rpmbuild --rebuild package_name.src.rpm 從一個rpm源碼構建一個 rpm 包
返回頂部索引 ^
YUM 軟體包升級器 - (Fedora, RedHat及類似系統)
yum install package_name 下載並安裝一個rpm包
yum localinstall package_name.rpm 將安裝一個rpm包,使用你自己的軟體倉庫為你解決所有依賴關系
yum update package_name.rpm 更新當前系統中所有安裝的rpm包
yum update package_name 更新一個rpm包
yum remove package_name 刪除一個rpm包
yum list 列出當前系統中安裝的所有包
yum search package_name 在rpm倉庫中搜尋軟體包
yum clean packages 清理rpm緩存刪除下載的包
yum clean headers 刪除所有頭文件
yum clean all 刪除所有緩存的包和頭文件
返回頂部索引 ^
DEB 包 (Debian, Ubuntu 以及類似系統)
dpkg -i package.deb 安裝/更新一個 deb 包
dpkg -r package_name 從系統刪除一個 deb 包
dpkg -l 顯示系統中所有已經安裝的 deb 包
dpkg -l | grep httpd 顯示所有名稱中包含 "httpd" 字樣的deb包
dpkg -s package_name 獲得已經安裝在系統中一個特殊包的信息
dpkg -L package_name 顯示系統中已經安裝的一個deb包所提供的文件列表
dpkg --contents package.deb 顯示尚未安裝的一個包所提供的文件列表
dpkg -S /bin/ping 確認所給的文件由哪個deb包提供
返回頂部索引 ^
APT 軟體工具 (Debian, Ubuntu 以及類似系統)
apt-get install package_name 安裝/更新一個 deb 包
apt-cdrom install package_name 從光碟安裝/更新一個 deb 包
apt-get update 升級列表中的軟體包
apt-get upgrade 升級所有已安裝的軟體
apt-get remove package_name 從系統刪除一個deb包
apt-get check 確認依賴的軟體倉庫正確
apt-get clean 從下載的軟體包中清理緩存
apt-cache search searched-package 返回包含所要搜索字元串的軟體包名稱
返回頂部索引 ^
查看文件內容
cat file1 從第一個位元組開始正向查看文件的內容
tac file1 從最後一行開始反向查看一個文件的內容
more file1 查看一個長文件的內容
less file1 類似於 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作
head -2 file1 查看一個文件的前兩行
tail -2 file1 查看一個文件的最後兩行
tail -f /var/log/messages 實時查看被添加到一個文件中的內容
返回頂部索引 ^
文本處理
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合並一個文件的詳細說明文本,並將簡介寫入一個新文件中
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合並一個文件的詳細說明文本,並將簡介寫入一個已有的文件中
grep Aug /var/log/messages 在文件 '/var/log/messages'中查找關鍵詞"Aug"
grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"開始的詞彙
grep [0-9] /var/log/messages 選擇 '/var/log/messages' 文件中所有包含數字的行
grep Aug -R /var/log/* 在目錄 '/var/log' 及隨後的目錄中搜索字元串"Aug"
sed 's/stringa1/stringa2/g' example.txt 將example.txt文件中的 "string1" 替換成 "string2"
sed '/^$/d' example.txt 從example.txt文件中刪除所有空白行
sed '/ *#/d; /^$/d' example.txt 從example.txt文件中刪除所有注釋和空白行
echo 'esempio' | tr '[:lower:]' '[:upper:]' 合並上下單元格內容
sed -e '1d' result.txt 從文件example.txt 中排除第一行
sed -n '/stringa1/p' 查看只包含詞彙 "string1"的行
sed -e 's/ *$//' example.txt 刪除每一行最後的空白字元
sed -e 's/stringa1//g' example.txt 從文檔中只刪除詞彙 "string1" 並保留剩餘全部
sed -n '1,5p;5q' example.txt 查看從第一行到第5行內容
sed -n '5p;5q' example.txt 查看第5行
sed -e 's/00*/0/g' example.txt 用單個零替換多個零
cat -n file1 標示文件的行數
cat example.txt | awk 'NR%2==1' 刪除example.txt文件中的所有偶數行
echo a b c | awk '{print $1}' 查看一行第一欄
echo a b c | awk '{print $1,$3}' 查看一行的第一和第三欄
paste file1 file2 合並兩個文件或兩欄的內容
paste -d '+' file1 file2 合並兩個文件或兩欄的內容,中間用"+"區分
sort file1 file2 排序兩個文件的內容
sort file1 file2 | uniq 取出兩個文件的並集(重復的行只保留一份)
sort file1 file2 | uniq -u 刪除交集,留下其他的行
sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在於兩個文件中的文件)
comm -1 file1 file2 比較兩個文件的內容只刪除 'file1' 所包含的內容
comm -2 file1 file2 比較兩個文件的內容只刪除 'file2' 所包含的內容
comm -3 file1 file2 比較兩個文件的內容只刪除兩個文件共有的部分
返回頂部索引 ^
字元設置和文件格式轉換
dos2unix filedos.txt fileunix.txt 將一個文本文件的格式從MSDOS轉換成UNIX
unix2dos fileunix.txt filedos.txt 將一個文本文件的格式從UNIX轉換成MSDOS
recode ..HTML < page.txt > page.html 將一個文本文件轉換成html
recode -l | more 顯示所有允許的轉換格式
返回頂部索引 ^
文件系統分析
badblocks -v /dev/hda1 檢查磁碟hda1上的壞磁塊
fsck /dev/hda1 修復/檢查hda1磁碟上linux文件系統的完整性
fsck.ext2 /dev/hda1 修復/檢查hda1磁碟上ext2文件系統的完整性
e2fsck /dev/hda1 修復/檢查hda1磁碟上ext2文件系統的完整性
e2fsck -j /dev/hda1 修復/檢查hda1磁碟上ext3文件系統的完整性
fsck.ext3 /dev/hda1 修復/檢查hda1磁碟上ext3文件系統的完整性
fsck.vfat /dev/hda1 修復/檢查hda1磁碟上fat文件系統的完整性
fsck.msdos /dev/hda1 修復/檢查hda1磁碟上dos文件系統的完整性
dosfsck /dev/hda1 修復/檢查hda1磁碟上dos文件系統的完整性
返回頂部索引 ^
初始化一個文件系統
mkfs /dev/hda1 在hda1分區創建一個文件系統
mke2fs /dev/hda1 在hda1分區創建一個linux ext2的文件系統
mke2fs -j /dev/hda1 在hda1分區創建一個linux ext3(日誌型)的文件系統
mkfs -t vfat 32 -F /dev/hda1 創建一個 FAT32 文件系統
fdformat -n /dev/fd0 格式化一個軟盤
mkswap /dev/hda3 創建一個swap文件系統
返回頂部索引 ^
SWAP文件系統
mkswap /dev/hda3 創建一個swap文件系統
swapon /dev/hda3 啟用一個新的swap文件系統
swapon /dev/hda2 /dev/hdb3 啟用兩個swap分區
返回頂部索引 ^
備份
mp -0aj -f /tmp/home0.bak /home 製作一個 '/home' 目錄的完整備份
mp -1aj -f /tmp/home0.bak /home 製作一個 '/home' 目錄的互動式備份
restore -if /tmp/home0.bak 還原一個互動式備份
rsync -rogpav --delete /home /tmp 同步兩邊的目錄
rsync -rogpav -e ssh --delete /home ip_address:/tmp 通過SSH通道rsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通過ssh和壓縮將一個遠程目錄同步到本地目錄
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通過ssh和壓縮將本地目錄同步到遠程目錄
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通過ssh在遠程主機上執行一次備份本地磁碟的操作
dd if=/dev/sda of=/tmp/file1 備份磁碟內容到一個文件
tar -Puf backup.tar /home/user 執行一次對 '/home/user' 目錄的互動式備份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通過ssh在遠程目錄中復制一個目錄內容
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通過ssh在遠程目錄中復制一個本地目錄
tar cf - . | (cd /tmp/backup ; tar xf - ) 本地將一個目錄復制到另一個地方,保留原有許可權及鏈接
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 從一個目錄查找並復制所有以 '.txt' 結尾的文件到另一個目錄
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 結尾的文件並做成一個bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一個將 MBR (Master Boot Record)內容復制到軟盤的動作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 從已經保存到軟盤的備份中恢復MBR內容
返回頂部索引 ^
光碟
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一個可復寫的光碟內容
mkisofs /dev/cdrom > cd.iso 在磁碟上創建一個光碟的iso鏡像文件
mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁碟上創建一個壓縮了的光碟iso鏡像文件
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 創建一個目錄的iso鏡像文件
cdrecord -v dev=/dev/cdrom cd.iso 刻錄一個ISO鏡像文件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻錄一個壓縮了的ISO鏡像文件
mount -o loop cd.iso /mnt/iso 掛載一個ISO鏡像文件
cd-paranoia -B 從一個CD光碟轉錄音軌到 wav 文件中
cd-paranoia -- "-3" 從一個CD光碟轉錄音軌到 wav 文件中(參數-3)
cdrecord --scanbus 掃描匯流排以識別scsi通道
dd if=/dev/hdc | md5sum 校驗一個設備的md5sum編碼,例如一張 CD
返回頂部索引 ^
網路 - (乙太網和WIFI無線)
ifconfig eth0 顯示一個乙太網卡的配置
ifup eth0 啟用一個 'eth0' 網路設備
ifdown eth0 禁用一個 'eth0' 網路設備
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfig eth0 promisc 設置 'eth0' 成混雜模式以嗅探數據包 (sniffing)
dhclient eth0 以dhcp模式啟用 'eth0'
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'
route del 0/0 gw IP_gateway remove static route
echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname of system
host www.example.com lookup hostname to resolve name to ip address and viceversa(1)
nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)
ip link show show link status of all interfaces
mii-tool eth0 show link status of 'eth0'
ethtool eth0 show statistics of network card 'eth0'
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and their PID
tcpmp tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
hostname show hostname
host www.example.com lookup hostname to resolve name to ip address and viceversa
nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
whois www.example.com lookup on Whois database
GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share
3. Linux的指令
1、 由圖形到字元#logout或init 3 2、由字元到圖形界面init 5 3、退出consolelogout或exit或ctrl+d 4、 注銷Ctrl + Alt + Backspace 5、 關機#poweroff或init 0或shutdown -h now或 halt -p 6、 重啟#reboot或init 6或shutdown -r now
#help提供內部命令的幫助#man或info提供外部命令的幫助。 如果你的英文足夠好,那完全可以不靠任何人就精通linux,只要你會用man。Man實際上就是察看指令用法的help,學習任何一種UNIX類的操作系統最重要的就是學會使用man這個輔助命令。man是manual(手冊)的縮寫字,它的說明非常的詳細,但是因為它都是英文,看起來非常的頭痛。建議大家需要的時候再去看man,平常嗎,記得一些基本用法就可以了。
編輯本段l
ls [list] 這個命令就相當於dos下的dir命令一樣,這也是Linux控制台命令中最為重要幾個命令之一。Linux上的文件以「.」開頭的文件被系統視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示 一般文件名外,連隱藏文件也會顯示出來。 ls -l(這個參數是字母L的小寫,不是數字1)【直接輸入ll 等價於 ls -l的效果】 這個命令可以使用長格式顯示文件內容,如果需要察看更詳細的文件資料,就要用到ls -l這個指令。例如我在某個目錄下鍵入ls -l可能會顯示如下信息(最上面兩行是我自己加的): 位置1 2 3 4 5 6 7 文件屬性 文件數 擁有者 所屬者group 文件大小 建檔日期 文件名 drwx------ 2 Guest users 1024 Nov 21 21:05 Mail -rwx--x--x 1 root root 89080 Nov 7 22:41 tar* -rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname* lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip -rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh* -rwsr-x--- 1 root bin 9853 Aug 15 5:46 su* 下面,我為大家解釋一下這些顯示內容的意義。 第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫「-」表示,則表示這是文件。其餘剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務系統,所以一個文件可能同時被許多人使用,所以我們一定要設好每個文件的許可權,其文件的許可權位置排列順序是(以-rwxr-xr-x為例): rwx(Owner)r-x(Group)r-x(Other) 這個例子表示的許可權是:使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行。另外,有一些程序屬性的執行部分不是X,而是S,這表示執行這個程序的使用者,臨時可以有和擁有者一樣權力的身份來執行該程序。一般出現在系統管理之類的指令或程序,讓使用者執行時,擁有root身份。 第二個欄位,表示文件個數。如果是文件的話,那這個數目自然是1了,如果是空目錄的話,那它的數目就是2,非空目錄等於該目錄中的目錄個數加上2了。 第三個欄位,表示該文件或目錄的擁有者。若使用者目前處於自己的Home,那這一欄大概都是它的賬號名稱。 第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應該都只屬於一個組,只有當系統管理員希望給予某使用者特殊許可權時,才可能會給他另一個組。 第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當然可以用其它參數使文件顯示的單位不同,如使用ls –k就是用kb來顯示一個文件的大小單位,不過一般我們還是以byte為主。 第六個欄位,表示創建日期。以「月,日,時間」的格式表示,如Aug 15 5:46表示8月15日早上5:46分。 第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。 ls –F(注意,是大寫的F) 使用這個參數表示在文件的後面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是因為使用了-F這個參數。但是現在基本上所有的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,我們也能看到各種分辨符號。
編輯本段cd
cd [change directory] 這個命令是用來進出目錄的,它的使用方法和在dos下差不多,但要注意以下兩點:首先,和dos不同的是Linux的目錄對大小寫是敏感的,如果大小寫沒寫對,cd操作不會成功;其次,cd如果直接輸入,cd後面不加任何東西,會回到使用者自己的Home Directory。假設如果是root,則回到/root,與輸入cd ~是一樣的效果。
編輯本段mkdir、rmdir
mkdir [make directory] rmdir [remove directory] mkdir命令用來建立新的目錄, rmdir 用來刪除已建立的目錄,這兩個指令的功能不再多加介紹,他們同dos下的md,rd功能和用法都是基本一樣的。 名稱:rm 使用許可權:所有使用者 使用方式:rm [options] name... 說明:刪除檔案及目錄。 參數: -i 刪除前逐一詢問確認。 -f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。 -r 將目錄及以下之檔案亦逐一刪除。 範例: 刪除所有C語言程序檔;刪除前逐一詢問確認 : rm -i *.c 將 Finished 子目錄及子目錄中所有檔案刪除 : rm -r Finished
編輯本段cp
cp[] 這個命令相當於dos下面的命令,具體用法是:cp –r 源文件(source) 目的文件(target) 參數r是指連同源文件中的子目錄一同拷貝。熟悉dos的讀者用起這個命令來會覺得更方便,畢竟比在dos下面要少敲兩下鍵盤。 樓上的不改了。 ../ 和 ./ 代表的 是上級目錄 以及當前目錄。 這樣運用這兩個命令來完成兩種復制方法。 第一種:處在當前目錄復制當前目錄下文件到別的目錄。 cp_文件名稱_別的文件目錄路徑。"_"是空格 舉個例子 在 orz文件夾下有兩個子文件夾a和b,a中有文件x.c,b中無文件。 此時我們在a文件夾中命令如下: cp x.c ../b/ 第二種:處在當前文件夾下復制另外文件夾下的文件到當前文件夾下。 cp_路徑/文件名稱_./ 例子條件同上個例子,命令如下: cp ../a/x.c ./
編輯本段rm
rm [remove] 這個命令是用來刪除文件的,和dos下面的rm(刪除一個空目錄)是有區別的,大家千萬要注意。rm命令常用的參數有三個: -i,-r,-f。 比如我現在要刪除一個名字為test的一個文件:rm –i test 系統會詢問我們:「rm:remove 『test』?y」,敲了回車以後,這個文件才會真的被刪除。之所以要這樣做,是因為linux不象dos那樣有undelete的命令,或者是可以用pctool等工具將刪除過的文件救回來,linux中刪除過的文件是救不回來的,所以使用這個參數在刪除前讓你再確定一遍,是很有必要的。 rm –r 目錄名:這個操作可以連同這個目錄下面的子目錄都刪除,功能上和rmdir相似。 rm –f 文件名(目錄名):這個操作可以進行強制刪除。
編輯本段mv
mv[move] 這個命令的功能是移動目錄或文件,引申的功能是給目錄或文件重命名。它的用法同dos下面的move基本相同,這里不再多講。當使用該命令來移動目錄時,他會連同該目錄下面的子目錄也一同移走。如果你想給一個文件或目錄重命名時可以用以下方法:mv 原文件名(目錄) 新的文件名(目錄)。
編輯本段,df
[disk usage] 命令可以顯示目前的目錄所佔的磁碟空間,df命令可以顯示目前磁碟剩餘的磁碟空間。如果命令不加任何參數,那麼返回的是整個磁碟的使用情況,如果後面加了目錄的話,就是這個目錄在磁碟上的使用情況(這個功能可是dos沒有的呦)。不過我一般不喜歡用,因為它給出的信息實在是太多了,我看不過來,而df這個命令我是最常用的,因為磁碟上還剩多少空間對我來說是很重要的。 語法:df [選項] 說明:linux中df命令可顯示所有文件系統對i節點和磁碟塊的使用情況。 該命令各個選項的含義如下: -a 顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統,如/proc文件系統。 -k 以k位元組為單位顯示。 -i 顯示i節點信息,而不是磁碟塊。 -t 顯示各指定類型的文件系統的磁碟空間使用情況。 -x 列出不是某一指定類型文件系統的磁碟空間使用情況(與t選項相反)。 -T 顯示文件系統類型。 功能:檢查文件系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等信息的!
4. 《Linux命令行大全》pdf下載在線閱讀,求百度網盤雲資源
《Linux命令行大全》(紹茨 (William E.Shotts))電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1g3lqnqg0ZoFzod32L2wDkw
書名:Linux命令行大全
作者:紹茨 (William E.Shotts)
譯者:郭光偉
豆瓣評分:8.1
出版社:人民郵電出版社
出版年份:2013-3-1
頁數:428
內容簡介:
《Linux命令行大全》主要介紹Linux命令行的使用,循序漸進,深入淺出,引導讀者全面掌握命令行的使用方法。
《Linux命令行大全》分為四部分。第一部分開始了對命令行基本語言的學習之旅,包括命令結構、文件系統的導引、命令行的編輯以及關於命令的幫助系統和使用手冊。第二部分主要講述配置文件的編輯,用於計算機操作的命令行控制。第三部分講述了從命令行開始執行的常規任務。類UNIX操作系統,比如Linux,包含了很多「經典的」命令行程序,這些程序可以高效地對數據進行操作。第四部分介紹了shell編程,這是一個公認的初級技術,並且容易學習,它可以使很多常見的系統任務自動運行。通過學習shell編程,讀者也可以熟悉其他編程語言的使用。
《Linux命令行大全》適合從其他平台過渡到Linux的新用戶和初級Linux伺服器管理員閱讀。沒有任何Linux基礎和Linux編程經驗的讀者,也可以通過本書掌握Linux命令行的使用方法。
作者簡介:
William E. Shotts, Jr.,作為一名軟體開發人員和狂熱的Linux用戶已經有15年之久。他在軟體開發領域有廣泛的背景,先後涉及過技術支持、質量保證和文檔編寫等工作。他還是LinuxCommand.org網站的創始人,該網站是一個Linux教育和宣傳網站,以新聞、評論和為人們使用Linux命令行提供廣泛支持而見長。
5. linux常用的命令有哪些
Linux運維人員必會的120個命令
來自《跟老男孩學Linux運維:核心系統命令實戰》一書
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創建目錄 / 22
2.5touch:創建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標准輸入轉換成命令行參數 / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄許可權 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置許可權掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 90
第3章 文件過濾及內容編輯處理命令 / 91
3.1cat:合並文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日誌文件 / 114
3.8cut:從文本中提取一段文字並輸出 / 115
3.9split:分割文件 / 117
3.10paste:合並文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同欄位合並 / 127
3.13uniq:去除重復行 / 129
3.14wc:統計文件的行數、單詞數或位元組數 / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 139
3.20tr:替換或刪除字元 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字元流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統信息 / 176
5.2hostname:顯示或設置系統的主機名 / 178
5.3dmesg:系統啟動異常診斷 / 179
5.4stat:顯示文件或文件系統狀態 / 181
5.5:統計磁碟空間使用情況 / 183
5.6date:顯示與設置系統時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監視命令執行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate資料庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁碟與文件系統管理命令 / 257
8.1fdisk:磁碟分區工具 / 257
8.2partprobe:更新內核的硬碟分區表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統參數 / 266
8.4parted:磁碟分區工具 / 268
8.5mkfs:創建Linux文件系統 / 272
8.6mpe2fs:導出ext2/ext3/ext4文件系統信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統大小 / 275
8.8fsck:檢查並修復Linux文件系統 / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統 / 284
8.11umount:卸載文件系統 / 288
8.12df:報告文件系統磁碟空間的使用情況 / 289
8.13mkswap:創建交換分區 / 293
8.14swapon:激活交換分區 / 294
8.15swapoff:關閉交換分區 / 295
8.16sync:刷新文件系統緩沖區 / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統中各個進程的資源佔用狀況 / 313
9.8nice:調整程序運行時的優先順序 / 320
9.9renice:調整運行中的進程的優先順序 / 323
9.10nohup:用戶退出系統進程繼續工作 / 324
9.11strace:跟蹤進程的系統調用 / 325
9.12ltrace:跟蹤進程調用庫函數 / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統服務 / 335
第10章 Linux網路管理命令 / 338
10.1ifconfig:配置或顯示網路介面信息 / 338
10.2ifup:激活網路介面 / 343
ifup eth0
10.3ifdown:禁用網路介面 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網路,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統的arp緩存 / 350
10.6ip:網路配置工具 / 351
10.7netstat:查看網路狀態 / 358
10.8ss:查看網路狀態 / 362
10.9ping:測試主機之間網路的連通性 / 363
10.10traceroute:追蹤數據傳輸路由狀況 / 366
10.11arping:發送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網路工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網路探測工具和安全/埠掃描器 / 394
10.22tcpmp:監聽網路流量 / 398
第11章 Linux系統管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統的運行時間及負載 / 411
11.3free:查看系統內存信息 / 411
11.4iftop:動態顯示網路介面流量信息 / 413
11.5vmstat:虛擬內存統計 / 415
11.6mpstat:CPU信息統計 / 419
11.7iostat:I/O信息統計 / 420
11.8iotop:動態顯示磁碟I/O統計信息 / 423
11.9sar:收集系統信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統管理工具 / 434
11.13ethtool:查詢網卡參數 / 436
11.14mii-tool:管理網路介面的狀態 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452
6. linux基本命令
Linux 對我們的生活產生了巨大的沖擊。至少你的安卓手機使用的就是 Linux 核心。盡管如此,在第一次開始使用 Linux 時你還是會感到難以下手。因為在 Linux 中,通常需要使用終端命令來取代 Windows 系統中的點擊啟動圖標操作。但是不必擔心,這里我們會介紹 10 個 Linux 基本命令來幫助你開啟 Linux 神秘之旅。
幫助新手走出第一步的 10 個 Linux 基本命令
當我們談論 Linux 命令時,實質上是在談論 Linux 系統本身。這短短的 10 個 Linux 基本命令不會讓你變成天才或者 Linux 專家,但是能幫助你輕松開始 Linux 之旅。使用這些基本命令會幫助新手們完成 Linux 的日常任務,由於它們的使用頻率如此至高,所以我更樂意稱他們為 Linux 命令之王!
讓我們開始學習這 10 條 Linux 基本命令吧。
1. sudo
這條命令的意思是「以超級用戶的身份執行」,是 SuperUserDo 的簡寫,它是新手將要用到的最重要的一條 Linux 命令。當一條單行命令需要 root 許可權的時候,sudo命令就派上用場了。你可以在每一條需要 root 許可權的命令前都加上sudo。
$ sudo su
2. ls
跟其他人一樣,你肯定也經常想看看目錄下都有些什麼東西。使用列表命令,終端會把當前工作目錄下所有的文件以及文件夾展示給你。比如說,我當前處在 /home 文件夾中,我想看看 /home 文件夾中都有哪些文件和目錄。
/home$ ls
在 /home 中執行ls命令將會返回類似下面的內容:
imad lost+found
3. cd
變更目錄命令(cd)是終端中總會被用到的主要命令。它是最常用到的 Linux 基本命令之一。此命令使用非常簡單,當你打算從當前目錄跳轉至某個文件夾時,只需要將文件夾鍵入此命令之後即可。如果你想跳轉至上層目錄,只需要在此命令之後鍵入兩個點 (..) 就可以了。 舉個例子,我現在處在 /home 目錄中,我想移動到 /home 目錄中的 usr 文件夾下,可以通過以下命令來完成操作。
/home $ cd usr
/home/usr $
4. mkdir
只是可以切換目錄還是不夠完美。有時候你會想要新建一個文件夾或子文件夾。此時可以使用 mkdir 命令來完成操作。使用方法很簡單,只需要把新的文件夾名跟在 mkdir 命令之後就好了。
~$ mkdir folderName
5. cp
拷貝-粘貼-and-paste是我們組織文件需要用到的重要命令。使用 cp命令可以幫助你在終端當中完成拷貝-粘貼操作。首先確定你想要拷貝的文件,然後鍵入打算粘貼此文件的目標位置。
$ cp src des
注意:如果目標目錄對新建文件需要 root 許可權時,你可以使用 sudo命令來完成文件拷貝操作。
6. rm
rm 命令可以幫助你移除文件甚至目錄。如果不希望每刪除一個文件都提示確認一次,可以用-f參數來強制執行。也可以使用-r參數來遞歸的移除文件夾。
$ rm myfile.txt
7. apt-get
這個命令會依據發行版的不同而有所區別。在基於 Debian 的發行版中,我們擁有 Advanced Packaging Tool(APT)包管理工具來安裝、移除和升級包。apt-get 命令會幫助你安裝需要在 Linux 系統中運行的軟體。它是一個功能強大的命令行,可以用來幫助你對軟體執行安裝、升級和移除操作。
在其他發行版中,例如 Fedora、Centos,都各自不同的包管理工具。Fedora 之前使用的是 yum,不過現在 dnf 成了它默認的包管理工具。
$ sudo apt-get update
$ sudo dnf update
8. grep
當你需要查找一個文件,但是又忘記了它具體的位置和路徑時,grep命令會幫助你解決這個難題。你可以提供文件的關鍵字,使用grep命令來查找到它。
$ grep user /etc/passwd
9. cat
作為一個用戶,你應該會經常需要瀏覽腳本內的文本或者代碼。cat命令是 Linux 系統的基本命令之一,它的用途就是將文件的內容展示給你。
$ cat CMakeLists.txt
10. poweroff
最後一個命令是 poweroff。有時你需要直接在終端中執行關機操作。此命令可以完成這個任務。由於關機操作需要 root 許可權,所以別忘了在此命令之前添加sudo。
$ sudo poweroff
總結
如我在文章開始所言,這 10 條命令並不會讓你立即成為一個 Linux 大拿,但它們會讓你在初期快速上手 Linux。以這些命令為基礎,給自己設置一個目標,每天學習一到三條命令,這就是此文的目的所在。
7. linux 的基本命令是什麼
cd命令,ls命令,grep命令,find命令,cp命令,mv命令,rm命令。
8. 常用的linux命令
1、cd命令
這是一個非常基本,也是大家經常需要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如:
cd
/root/Docements # 切換到目錄/root/Docements
cd ./path #
切換到當前目錄下的path目錄中,「.」表示當前目錄
cd ../path #
切換到上層目錄中的path目錄中,「..」表示上一層目錄
2、ls命令
這是一個非常有用的查看文件與目錄的命令,list之意,它的參數非常多,下面就列出一些我常用的參數吧,如下:
-l
:列出長數據串,包含文件的屬性與許可權數據等
-a
:列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用)
-d
:僅列出目錄本身,而不是列出目錄的文件數據
-h
:將文件容量以較易讀的方式(GB,kB等)列出來
-R
:連同子目錄的內容一起列出(遞歸列出),等於該目錄下的所有文件都會顯示出來
註:這些參數也可以組合使用,下面舉兩個例子:
ls -l
#以長數據串的形式列出當前目錄下的數據文件和目錄
ls -lR
#以長數據串的形式列出當前目錄下的所有文件
3、grep命令
該命令常用於分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等,它的簡單語法為
grep [-acinv]
[--color=auto] '查找字元串' filename
它的常用參數如下:
-a
:將binary文件以text文件的方式查找數據
-c
:計算找到『查找字元串』的次數
-i
:忽略大小寫的區別,即把大小寫視為相同
-v
:反向選擇,即顯示出沒有『查找字元串』內容的那一行
# 例如:
#
取出文件/etc/man.config中包含MANPATH的行,並把找到的關鍵字加上顏色
grep --color=auto
'MANPATH' /etc/man.config
# 把ls
-l的輸出中包含字母file(不區分大小寫)的內容輸出
ls -l | grep -i
file
4、find命令
find是一個基於查找的功能非常強大的命令,相對而言,它的使用也相對較為復雜,參數也比較多,所以在這里將給把它們分類列出,它的基本語法如下:
find [PATH]
[option] [action]
# 與時間有關的參數:
-mtime n :
n為數字,意思為在n天之前的「一天內」被更改過的文件;
-mtime +n :
列出在n天之前(不含n天本身)被更改過的文件名;
-mtime -n :
列出在n天之內(含n天本身)被更改過的文件名;
-newer file :
列出比file還要新的文件名
# 例如:
find /root -mtime
0 # 在當前目錄下查找今天之內有改動的文件
# 與用戶或用戶組名有關的參數:
-user name :
列出文件所有者為name的文件
-group name :
列出文件所屬用戶組為name的文件
-uid n :
列出文件所有者為用戶ID為n的文件
-gid n :
列出文件所屬用戶組為用戶組ID為n的文件
# 例如:
find
/home/ljianhui -user ljianhui # 在目錄/home/ljianhui中找出所有者為ljianhui的文件
# 與文件許可權及名稱有關的參數:
-name filename
:找出文件名為filename的文件
-size [+-]SIZE
:找出比SIZE還要大(+)或小(-)的文件
-tpye TYPE
:查找文件的類型為TYPE的文件,TYPE的值主要有:一般文件(f)、設備文件(b、c)、
目錄(d)、連接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode
:查找文件許可權剛好等於mode的文件,mode用數字表示,如0755;
-perm -mode
:查找文件許可權必須要全部包括mode許可權的文件,mode用數字表示
-perm +mode
:查找文件許可權包含任一mode的許可權的文件,mode用數字表示
# 例如:
find / -name
passwd # 查找文件名為passwd的文件
find . -perm 0755
# 查找當前目錄中文件許可權的0755的文件
find . -size +12k
# 查找當前目錄中大於12KB的文件,注意c表示byte
5、cp命令
該命令用於復制文件,之意,它還可以把多個文件一次性地復制到一個目錄下,它的常用參數如下:
-a :將文件的特性一起復制
-p
:連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份
-i
:若目標文件已經存在時,在覆蓋時會先詢問操作的進行
-r
:遞歸持續復制,用於目錄的復制行為
-u
:目標文件與源文件有差異時才會復制
例如 :
cp -a file1 file2
#連同文件的所有特性把文件file1復製成文件file2
cp file1 file2
file3 dir #把文件file1、file2、file3復制到目錄dir中
6、mv命令
該命令用於移動文件、目錄或更名,move之意,它的常用參數如下:
-f
:force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i
:若目標文件已經存在,就會詢問是否覆蓋
-u
:若目標文件已經存在,且比目標文件新,才會更新
註:該命令可以把一個文件或多個文件一次移動一個文件夾中,但是最後一個目標文件一定要是「目錄」。
例如:
mv file1 file2
file3 dir # 把文件file1、file2、file3移動到目錄dir中
mv file1 file2 #
把文件file1重命名為file2
7、rm命令
該命令用於刪除文件或目錄,remove之間,它的常用參數如下:
-f
:就是force的意思,忽略不存在的文件,不會出現警告消息
-i
:互動模式,在刪除前會詢問用戶是否操作
-r
:遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數
例如:
rm -i file #
刪除文件file,在刪除之前會詢問是否進行該操作
rm -fr dir #
強制刪除目錄dir中的所有文件
8、ps命令
該命令用於將某個時間點的進程運行情況選取下來並輸出,process之意,它的常用參數如下:
-A :所有的進程均顯示出來
-a
:不與terminal有關的所有進程
-u :有效用戶的相關進程
-x
:一般與a參數一起使用,可列出較完整的信息
-l
:較長,較詳細地將PID的信息列出
其實我們只要記住ps一般使用的命令參數搭配即可,它們並不多,如下:
ps aux #
查看系統所有的進程數據
ps ax #
查看不與terminal有關的所有進程
ps -lA #
查看系統所有的進程數據
ps axjf #
查看連同一部分進程樹狀態
9、kill命令
該命令用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用,它的基本語法如下:
kill -signal PID
signal的常用參數如下:
註:最前面的數字為信號的代號,使用時可以用代號代替相應的信號。
1:SIGHUP,啟動被終止的進程
2:SIGINT,相當於輸入ctrl+c,中斷一個程序的進行
9:SIGKILL,強制中斷一個進程的進行
15:SIGTERM,以正常的結束進程方式來終止進程
17:SIGSTOP,相當於輸入ctrl+z,暫停一個進程的進行
例如:
#
以正常的結束進程方式來終於第一個後台工作,可用jobs命令查看後台中的第一個工作進程
kill -SIGTERM
%1
#
重新改動進程ID為PID的進程,PID可用ps命令通過管道命令加上grep命令進行篩選獲得
kill -SIGHUP PID
10、killall命令
該命令用於向一個命令啟動的進程發送一個信號,它的一般語法如下:
killall [-iIe]
[command name]
它的參數如下:
-i
:互動式的意思,若需要刪除時,會詢問用戶
-e :表示後面接的command
name要一致,但command name不能超過15個字元
-I :命令名稱忽略大小寫
# 例如:
killall -SIGHUP
syslogd # 重新啟動syslogd
11、file命令
該命令用於判斷接在file命令後的文件的基本數據,因為在Linux下文件的類型並不是以後綴為分的,所以這個命令對我們來說就很有用了,它的用法非常簡單,基本語法如下:
file filename
#例如:
file ./test
12、tar命令
該命令用於對文件進行打包,默認情況並不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓。它的常用參數如下:
-c :新建打包文件
-t
:查看打包文件的內容含有哪些文件名
-x
:解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中
-j
:通過bzip2的支持進行壓縮/解壓縮
-z
:通過gzip的支持進行壓縮/解壓縮
-v
:在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
-f filename
:filename為要處理的文件
-C dir
:指定壓縮/解壓縮的目錄dir
上面的解說可以已經讓你暈過去了,但是通常我們只需要記住下面三條命令即可:
壓縮:tar -jcv -f
filename.tar.bz2 要被處理的文件或目錄名稱
查詢:tar -jtv -f
filename.tar.bz2
解壓:tar -jxv -f
filename.tar.bz2 -C 欲解壓縮的目錄
註:文件名並不定要以後綴tar.bz2結尾,這里主要是為了說明使用的壓縮程序為bzip2
13、cat命令
該命令用於查看文本文件的內容,後接要查看的文件名,通常可用管道與more和less一起使用,從而可以一頁頁地查看數據。例如:
cat text | less #
查看text文件中的內容
# 註:這條命令也可以使用less
text來代替
14、chgrp命令
該命令用於改變文件所屬用戶組,它的使用非常簡單,它的基本用法如下:
chgrp [-R]
dirname/filename
-R
:進行遞歸的持續對所有文件和子目錄更改
# 例如:
chgrp users -R
./dir # 遞歸地把dir目錄下中的所有文件和子目錄下所有文件的用戶組修改為users
15、chown命令
該命令用於改變文件的所有者,與chgrp命令的使用方法相同,只是修改的文件屬性不同,不再詳述。
16、chmod命令
該命令用於改變文件的許可權,一般的用法如下:
chmod [-R] xyz
文件或目錄
-R:進行遞歸的持續更改,即連同子目錄下的所有文件都會更改
同時,chmod還可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(刪除)、=(設置)跟rwx搭配來對文件的許可權進行更改。
# 例如:
chmod 0755 file #
把file的文件許可權改變為-rxwr-xr-x
chmod g+w file #
向file的文件許可權中加入用戶組可寫許可權
18、vim命令
該命令主要用於文本編輯,它接一個或多個文件名作為參數,如果文件存在就打開,如果文件不存在就以該文件名創建一個文件。vim是一個非常好用的文本編輯器,它裡面有很多非常好用的命令,在這里不再多說。你可以從這里下載vim常用操作的詳細說明。
19、gcc命令
對於一個用Linux開發C程序的人來說,這個命令就非常重要了,它用於把C語言的源程序文件,編譯成可執行程序,由於g++的很多參數跟它非常相似,所以這里只介紹gcc的參數,它的常用參數如下:
-o
:output之意,用於指定生成一個可執行文件的文件名
-c
:用於把源文件生成目標文件(.o),並阻止編譯器創建一個完整的程序
-I :增加編譯時搜索頭文件的路徑
-L
:增加編譯時搜索靜態連接庫的路徑
-S :把源文件生成匯編代碼文件
-lm:表示標准庫的目錄中名為libm.a的函數庫
-lpthread
:連接NPTL實現的線程庫
-std=
:用於指定把使用的C語言的版本
# 例如:
#
把源文件test.c按照c99標准編譯成可執行程序test
gcc -o test
test.c -lm -std=c99
#把源文件test.c轉換為相應的匯編程序源文件test.s
gcc -S test.c
20、time命令
該命令用於測算一個命令(即程序)的執行時間。它的使用非常簡單,就像平時輸入命令一樣,不過在命令的前面加入一個time即可,例如:
time ./process
time ps aux
在程序或命令運行結束後,在最後輸出了三個時間,它們分別是:
user:用戶CPU時間,命令執行完成花費的用戶CPU時間,即命令在用戶態中執行時間總和;
system:系統CPU時間,命令執行完成花費的系統CPU時間,即命令在核心態中執行時間總和;
real:實際時間,從command命令行開始執行到運行終止的消逝時間;
來自 <https://www.cnblogs.com/yunliu0603/p/10118189.html>
9. Linux常用命令有哪些
建立自己的目錄和文件
mkdir 建立目錄
mkdir -p 建立多級目錄
touch 建立文件
touch -d 20080808 修改文件日期
touch -d 1215 修改文件時間
指定時間的修改方法
linux里沒有記錄文件的創建時間
# stat big_file
Access: 2009-05-02 12:13:00.000000000 +0800 訪問時間 cat
Modify: 2009-05-02 12:13:00.000000000 +0800 內容修改時間 echo >>
Change: 2009-05-02 17:41:55.000000000 +0800 屬性修改時間 chmod
touch -m -t 200809101112.13 bigfile
修改文件內容
echo "abcd" >> file_name
vim 編輯器的增刪改存
gedit
復制文件 cp src dest
-r 包含子目錄和文件
-a 保持文件許可權 包含子目錄和文件 保持文件連接
-f 強制覆蓋 不提示
刪除文件 rm -r 遞歸刪除
-f 強制刪除 不提示
移動改名 mv old new
-i 提示
-f 強制覆蓋 不提示
學會查看文件的屬性後,我們來學習怎麼查看文件內容
cat -n 列印行號
cat -b 同上,但排除空行
分屏查看
more 只能向下
less 上下均可
more 和 less 的搜索功能
/ 向下搜
? 向上搜
n 下一個
N 上一個
head 查看文件頭
-n X 指定行數
默認10行
tail 查看文件尾
-n X 指定行數
-f 時時監控文件變化
rev 左右顛倒
tac 上下顛倒
cd 回到家目錄
cd / 目的目錄
cd - 上次工作目錄
cd . 當前目錄
cd ..上級目錄
相對路徑和絕對路徑
我在哪?
pwd
tree 以樹狀結構顯示
ls 介紹顏色的用處
為什麼會有顏色 因為有參數
長參數 短參數
如何查看文件的詳細屬性
文件類型
-普通文件 d目錄 b塊 c字元 l連接 p管道 s套接字
如何查看隱藏文件 ls -a
沒有顏色時 我們該怎麼辦? ls -F
常用組合 ls -lthr
系統為我們定義的常用組合 ll l.
自定義 alias lt='ls -lthr'