1. 程式人生 > >我的linux命令筆記

我的linux命令筆記

允許非root使用者使用“sudo”

root身份登入系統,執行“visudo”,根據示例新增新的一個規則(記住輸入的密碼是當前使用者密碼,而不是root密碼)

#不需要密碼執行sudo命令

hadoop        ALL=(ALL)       NOPASSWD: ALL

日期 

時間戳轉日期

date -d ‘1970-01-01 UTC 1312438633.724 seconds’ +”%Y-%m-%d %T”

#顯示現在日期

echo `date -d now +%Y%m%d`

#顯示昨天日期

echo `date -d yesterday +%Y%m%d`

#加減時間

date +%Y%m%d –date=”-1 day”

date +%Y%m%d%H –date=”-1 hour”

檢視網站是什麼伺服器

curl -s –head “http://www.baidu.com”

檢視redhat版本 

cat /etc/redhat-release #我這裡顯示“CentOS release 5.5 (Final)”

檢視linux最大可以開啟檔案數量 寫道

ulimit -a

# 關注屏顯其中一行,可以看出最大開啟檔案數量為1024

open files (-n) 1024

設定開啟檔案數量:

echo -ne ”

* soft nofile 65536

* hard nofile 65536

” >>/etc/security/limits.conf

推出終端後,在執行ulimit -a,可以看出修改已經生效

zip壓縮檔案

zip {dist} {src}

zip -P {password} {dist} {src}

只允許root遠端登入

cd /etc

touch nologin

鎖定使用者,檢視機器64位還是32位

uname -m #會顯示:“i686”、“x86_64”

無法遠端登入(root only)

passwd -l hadoop

解鎖使用者(root only) 

passwd -u hadoop

列出rpm安裝程式的檔案路徑

rpm -ql hadoop-0.20

檢視系統已經安裝軟體

rpm -qa | grep hadoop

檢視當前伺服器總的cpu core數量(有多少核)

more /proc/cpuinfo | grep ‘processor’ | wc -l

#檢視每個CPU的核數

more /proc/cpuinfo | grep ‘cpu cores’

#計算當前服務cpu數量

總核數 / 每個CPU的核數

#檢視CPU位數

getconf LONG_BIT

檢視程式的安裝路徑

whereis java

檢視執行程式的路徑

which java

修改DNS IP  

vi /etc/resolv.conf

檢視記憶體  

free

檢視CPU是否支援64作業系統

如果結果大於0,說明支援64bit模式(long mode)

cat /proc/cpuinfo | grep flags | grep ‘ lm ‘ | wc -l

檢視某行內容

sed -n ‘100{p;q}’ filename

檢視使用者所屬組

grep “使用者名稱” /etc/group

檢視rpm包檔案

rpm2cpio hadoop.rpm | cpio -idmv

新增某個路徑到執行時庫,一行一個path

vi /etc/ld.so.conf

/usr/local/lib/

(或者使用環境變數的方式,這種方向不需要root許可權)

export LD_LIBRARY_PATH=/xxxxx:$LD_LIBRARY_PATH

centos下通過shell修改副檔名

rename <oldname> <newname> <*.files>

#將所有html副檔名改為htm副檔名

rename .html .htm   *.html

具體參考:http://www.cyberciti.biz/tips/renaming-multiple-files-at-a-shell-prompt.html

#通過mv也可以實現修改副檔名這個功能

mv goodYear.{htm,html}

sort命令

# -u 去除重複行

# -r 降序(預設為升序)

# -o 輸出排序後資料,他與重定向’>’最大的區別是輸出資料到原檔案

sort seq.txt -o > seq.txt

# -n 根據數值大小排序

# -k 指定根據某列排序

sort num.txt -k2  # 根據第二列排序(預設分隔符為空格、tab)

# -t 指定列分隔符,僅支援一個字元

# -m 歸併排序

linux 命令列引數引用

執行命令:

./test.sh 111 222 333 444

echo 執行檔名稱:$0

#./test.sh

echo 第一個引數:$1

#111

echo 引數個數:$#

#4

echo 最後一個:$_

#444

echo 所有引數,引數被認為是多個字串:[email protected]

#111 222 333 444

echo 所有引數,引數被認為是一個字串: $*

#111 222 333 444

echo 程式pid: $$

echo 退出code: $?

less命令 

tip1:敲入50p,可以進入50%的文件位置,支援小數,如95.5p

指令碼改密碼

#方法一

echo 123123 |passwd –stdin abc

#方法二

#echo “root:[email protected]#$QW12qw”|chpasswd

#pwdadm -c root

http://www.aixchina.net/club/thread-69699-1-1.html

一行命令建立使用者並設定密碼

useradd -p `openssl passwd <pwd>` -g <group_name> <username>

建立使用者並禁止遠端登入

useradd -s /sbin/nologin ak47

查詢使用者crontab執行記錄 

cat /var/log/cron | grep <username>

修改linux使用者目錄

usermod -d /home/hdfs -U hdfs

磁碟速度測試

hdparm -t /dev/sda1

快速查詢檔案(根據檔名)

# locate命令負責查詢,updatedb命令生成檔案索引(daily)

locate *qq*.txt

chkconfig

chkconfig –list | more # 列出所有系統服務

chkconfig <service_name> off|on # 關閉、開啟系統服務

第一次SSH登入不提示

配置ssh conf檔案中StrictHostKeyChecking no

top 

c     # 顯示程式完整路徑

m    # 按照記憶體排序

P    #  按照CPU排序

top -p <pid> # 檢視程序top

#RES表示實體記憶體佔用,在ps命令中是rss表示實體記憶體

bz2檔案解壓縮

bunzip2 yy.bz2

檢視重複次數(shell 實現的group by + count) 

# uniq前一定要先sort,uniq引數-c,將列印分組重複次數

cat xx.TXT | sort | uniq -c

tar命令使用 

tar -zcf my.tgz my # 壓縮打包

tar -cf my.tgz my # 不壓縮打包

tar -zxf my.tgz my # 解壓縮包

tar -xf my.tgz my # 解不壓縮的包

tar -tf # 檢視tar包結構

find

#-o: 或條件

# 查詢當前目錄下所有.htm和.html結尾的檔案

find . \( -name “*.htm” -o -name “*.html” \)

# -a: and條件

grep

#查詢文字中包含boy和girl的行

cat my.txt | grep -E ‘boy|girl’

# 根據文字內容查詢檔名,”-H”用於輸出檔名

find . -name ‘*city*’ -ls -exec zgrep ‘null’ {} -H  \;

# “or”查詢

方法一:grep ‘pattern1\|pattern2’ filename

方法二:grep -E ‘pattern1|pattern2’ filename

方法三:egrep ‘pattern1|pattern2’ filename

方法四:grep -e pattern1 -e pattern2 filename

# “and”查詢

方法一:grep -E ‘pattern1.*pattern2’ filename

方法二:grep -E ‘pattern1’ filename | grep -E ‘pattern2’

修改hostname 

方法一:hostname <new hostname>

方法二:vi /etc/sysconfig/network

檢視開啟檔案數

lsof |wc -l

lsof -p pid |wc -l

檢視哪些程式在使用磁碟

iotop

建立大檔案

dd if=/dev/zero of=test bs=1M count=1000

#更大檔案可以用下面這個,快些

dd if=/dev/zero of=test bs=1M count=0 seek=100000

文章出處:http://heipark.iteye.com/blog/1083805