close

1.grep -m 2   d  abc.txt

m代表只找兩條記錄就好

2.印出所有檔案包含abc的,只印兩個就好 a

  1. awk '/abc/{print;a++}a>3{exit}' *.txt

3.同上,但會印出 哪個目錄

root@ushan-K43E:/home/df/b# find . -name '*' |xargs grep 'shit'
grep: .: 是個目錄
./b:shit  i dont have you 
./b:ssdff shit
./a:shit  i love you 
root@ushan-K43E:/home/df/b# 

4.%g浮點數

5.bash -c    

c指command 執行命令

6.tmux

:new<回车>  启动新会话
s           列出所有会话
$           重命名当前会话

窗口 (标签页)

c  创建新窗口
w  列出所有窗口
n  后一个窗口
p  前一个窗口
f  查找窗口
,  重命名当前窗口
&  关闭当前窗口

7.locale 

locale看語系設定

locale -a有安裝什麼語系

locale-gen zh-TW.UTF-8 生產語系

8.mkdir -m 777  xxx m是設定權限

8.service --status-all

9.

dpkg-reconfigure tzdata 設定時區  手動

/etc/timezone 寫asia/taipei

sudo dpkg-reconfigure --frontend noninteractive tzdata
10.
zip 指令 
zip zip名  要壓縮的檔
zip  x  a b c
zip x  * 壓全資料夾
unzip -l x.zip  列裡頭檔案
10.1刪裡頭有x檔名開頭的 xa xb
zip -d x.zip  x*
 
 

11.ulimit -n 看 最多系統可開啟的檔案數 ulimit -n 65536

 

假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。

 

ulimit -v 200000 程序最多只能使用不到 200MB 的虚拟内存

 

 ps aux
 
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...
czbug     1980  0.0  1.7 180472 34416 ?        Sl   Feb25   0:01 /usr/bin/yakuake

rss物理內存vsz虛擬內存

 

# ulimit – s 1232 新的线程被创建时都需要新分配一段大小为 1232KB 的内存空间

 

ulimit -Sn 查看的是软限制

ulimit -Hn 查看的是硬限制

soft意思是程式可以修改系統的限制

hard則程式不能修改系統的限制

http://dockone.io/article/522

http://www.jincon.com/archives/118

$ pmap -d 1980   

 

简单一点说,RSS 就是这个process 实际占用的物理内存,VSZ 就是process 的虚拟内存,就是process 现在没有使用但未来可能会分配的内存大小。

其实这里的ps 出来的结果,是有点不正确的,如果把所有程序的 RSS 加起来,恐怕比你的实际内存还要大呢。为什么呢??因为 ps 的结果,RSS 那部分,是包括共享内存的。这里我用 pmap 来看看。

$ pmap -d 1980
 
1980:   /usr/bin/yakuake
Address   Kbytes Mode  Offset           Device    Mapping
00110000    2524 r-x-- 0000000000000000 008:00002 libkio.so.5.3.0
00387000       4 ----- 0000000000277000 008:00002 libkio.so.5.3.0
00388000      32 r---- 0000000000277000 008:00002 libkio.so.5.3.0
00390000      16 rw--- 000000000027f000 008:00002 libkio.so.5.3.0
00394000     444 r-x-- 0000000000000000 008:00002 libQtDBus.so.4.5.2
00403000       4 ----- 000000000006f000 008:00002 libQtDBus.so.4.5.2
00404000       4 r---- 000000000006f000 008:00002 libQtDBus.so.4.5.2
00405000       4 rw--- 0000000000070000 008:00002 libQtDBus.so.4.5.2
00407000     228 r-x-- 0000000000000000 008:00002 libkparts.so.4.3.0
00440000       8 r---- 0000000000039000 008:00002 libkparts.so.4.3.0
00442000       4 rw--- 000000000003b000 008:00002 libkparts.so.4.3.0
00443000    3552 r-x-- 0000000000000000 008:00002 libkdeui.so.5.3.0
007bb000      76 r---- 0000000000377000 008:00002 libkdeui.so.5.3.0
007ce000      24 rw--- 000000000038a000 008:00002 libkdeui.so.5.3.0
007d4000       4 rw--- 0000000000000000 000:00000   [ anon ]
....
mapped: 180472K    writeable/private: 19208K    shared: 20544K  

我略去了一部分输出,都是差不多的,重点在最后那行输出。

linux 会把一些shared libraries 载入到内存中,在pmap 的输出中,这些shared libraries 的名字通常是 lib*.so 。如 libX11.so.6.2.0 。这个 libX11.so.6.2.0 会被很多process load 到自己的运行环境中,同时,ps 输出的RSS 结果中,每个process 都包含了这个libX11.so.6.2.0 ,而事实上它只被load 了一次,如果单纯把ps 的结果相加,这样就重复计算了。

 

12.grep -v xx捨去有xx字串的行

13.

sudo deluser --remove-home user
arrow
arrow
    全站熱搜

    學習程式 發表在 痞客邦 留言(0) 人氣()