Linux命令行小技巧1

来源:互联网 发布:godaddy域名转到万网 编辑:程序博客网 时间:2024/05/17 19:23

本博文主要是由学习鸟叔linux私房菜习题而记录的内容(每篇记录25个知识点)

1、补全命令行 (按tab)


2、查询某个字符开头的命令行(输入字符后按两次tab)


3、上下移动屏幕画面([shift]+[PageUp], [shift]+[PageDown]


4、清理屏幕(clear或者reset


5、中断指令(ctrl + c


6、当命令行从$到 >时如何切换回来(ctrl + c 或者 ctrl + d)


7、manual page(man) 手册页的操作

[enter]:向文件最后移动一行
[PageUp]/[PageDown]:向文件前/后移动
方向键上/下:向文件前/后移动一行
g:移动到整个文件的第一行
G:移动到整个文件的最后一行
q:离开man page
/keyword:命令 man page 找到关键字
n:向整份文件的下方继续找关键字

N:向整份文件的上方继续找关键字


8、计算值保留n位有效数字

先bc,然后通过scale=n进行设置n位有效数字,然后计算相应的值即可输出相应的结果

例子:输出1/3保留4位有效数字的命令行

bc

scale=4

1/3


9、计算PI的50位有效数字的命令

(echo "scale=50; 4*a(1)" | bc -l)


10、系统中自带的各种参考手册

一、使用者在shell环境中可以操作的指令或可执行命令
二、系統核心可呼叫的函数与工具等
三、一些常用的函数(function)与函数库(library),大部分為C的函数库(libc)
四、装备文件的说明,通常在/dev下的档案
五、设置或者是某些文件的格式
六、游戏(games)
七、惯例与协议等,例如Linux文件系統、网路协议、ASCII code等等的说明
八、系統管理員可用的管理指令
九、跟kernel有关的文件

全局查询命令行:man man


11、目录和文件的权限问题

(1)权限对文件的重要性

 r(read):可读取此一文件的实际内容,如读取文本的文字内容等;

 w(write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件)

 x(eXecute):该文件具有可以被系统执行的权限

(2)权限对目录的重要性

r(read contents in directory):查询该目录的文件资料,可以用ls指令进行查询。

w(modify contents of directory):可以改动该目录结构清单的权限

-建立新的文件和目录

-删除已经存在的文件和目录(无论该文件的权限如何)

-将已经存在啊的文件和目录进行修改名称

-移动该目录内的文件、目录的位置

x(access directory):使用者是否能进入该目录成为工作目录的权限。(工作目录就是当前所在的目录)


12最左边的字元 --- 链接文件(link)  和  一般目录 (directoryd


13、/proc 和  /sys 的文件容量为0kb,该目录下的资料都是放在内存条中,所以本身不占任何的硬盘空间。


14、 在CentOS下,/boot/vmlinuz的容量为5392080kb。


15、ls放在/bin中 , ifconfig 放置在/sbin下; /bin放置的是单人维护模式下还能被操作的指令,

/sbin下放置着开机过程(开机,修复,还原系统)所需要的指令。


16、经常需要存取,容量比较大,为了加速可以将文件放在/run下运行,因为/run可以使用内存条来模拟。


17、使用pwd命令可以列出当前的工作目录


18、根目录(/)的上一层(..)与根目录自己(.)是同一个目录。


19、mkdir命令

[root@study ~]# mkdir [-mp] 目錄名稱
選項與參數:
-m :設定檔案的權限喔!直接設定,不需要看預設權限 (umask) 的臉色~
-p :幫助你直接將所需要的目錄(包含上層目錄)遞迴建立起來!


範例:請到/tmp底下嘗試建立數個新目錄看看:
[root@study ~]# cd /tmp
[root@study tmp]# mkdir test    <==建立一名為 test 的新目錄
[root@study tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory ‘test1/test2/test3/test4’: No such file or directory
# 話說,系統告訴我們,沒可能建立這個目錄啊!就是沒有目錄才要建立的!見鬼嘛?
[root@study tmp]# mkdir -p test1/test2/test3/test4
# 原來是要建 test4 上層沒先建 test3 之故!加了這個 -p 的選項,可以自行幫你建立多層目錄!


範例:建立權限為rwx--x--x的目錄
[root@study tmp]# mkdir -m 711 test2
[root@study tmp]# ls -ld test*
drwxr-xr-x. 2 root   root  6 Jun  4 19:03 test
drwxr-xr-x. 3 root   root 18 Jun  4 19:04 test1
drwx--x--x. 2 root   root  6 Jun  4 19:05 test2


20、rmdir删除空的目录

[root@study ~]# rmdir [-p] 目錄名稱
選項與參數:
-p :連同『上層』『空的』目錄也一起刪除


範例:將於mkdir範例中建立的目錄(/tmp底下)刪除掉!
[root@study tmp]# ls -ld test*   <==看看有多少目錄存在?
drwxr-xr-x. 2 root   root  6 Jun  4 19:03 test
drwxr-xr-x. 3 root   root 18 Jun  4 19:04 test1
drwx--x--x. 2 root   root  6 Jun  4 19:05 test2
[root@study tmp]# rmdir test   <==可直接刪除掉,沒問題
[root@study tmp]# rmdir test1  <==因為尚有內容,所以無法刪除!
rmdir: failed to remove ‘test1’: Directory not empty
[root@study tmp]# rmdir -p test1/test2/test3/test4
[root@study tmp]# ls -ld test*    <==您看看,底下的輸出中test與test1不見了!
drwx--x--x. 2 root   root  6 Jun  4 19:05 test2
# 瞧!利用 -p 這個選項,立刻就可以將 test1/test2/test3/test4 一次刪除~
# 不過要注意的是,這個 rmdir 僅能『刪除空的目錄』喔!


21、rm -r test指令可以删除该目录下的全部东西


22、rm -p test指令可以删除上层的目录


23、

cp -l指令

硬链接(hard links): 为文件创建了额外的条目.使用时, 与文件没有区别;  删除时, 只会删除链接, 不会删除文件;

硬链接的局限性: 1. 不能引用自身文件系统以外的文件, 即不能引用其他分区的文件; 2. 无法引用目录;

操作: ln file link, 只能link文件;


cp -s指令

符号链接(symbolic links): 克服硬链接的局限性, 类似于快捷方式, 使用与硬链接相同. 

如果先删除文件, 则会成为坏链接(broken), ls会以不同颜色(Ubuntu, 红色)显示;

操作: ln -s item link, 可以link文件和目录;


24、touch命令建立目录,mkdir建立文件


25、文件预设权限 umask

用umask命令进行查看权限预设值。

root权限umask是0022,在用户下umask是0002.

第一组是特殊权限,第二个是用户权限,第三个是群组权限,第四个是其他人权限。


在root权限下,默认权限

如果是建立文件,则预设没有可执行(x)的权限,也就是只有rw的权限,预设权限如下 -rw-rw-rw-

如果是建立目录,则所有权限开放,即有rwx权限,预设权限如下 drwxrwxrwx


umask的分数指的是 该预设值减掉的分数,

因为在root下umask的分数是022(特殊权限暂时不看)

建立文件时 :(- rw- rw- rw-) - (- --- -w- -w- ) =- rw- r-- r--

建立目录时: (d rwx rwx rwx) - (- --- -w- -w-) =d rwx r-x r-x


测试命令:

cd  /tmp

touch test1

mkdir test2

ll - d test*

输出结果:

-rw-r--r-- 1 root   root      0 Mar 22 09:48 test1
drwxr-xr-x 2 root   root   4096 Mar 22 09:48 test2/


用户权限下,umask分数是0002,默认权限

如果是建立文件,则预设没有可执行(x)的权限也就是只有rwx的权限,预设权限如下 -rw- rw- rw-

如果是建立目录,则所有权限开放,即有rwx权限,预设权限如下 drwxrwxrwx


建立文件时 :(- rw- rw- rw-) - (- --- --- -w- ) = - rw- rw- r--

建立目录时: (d rwx rwx rwx) - (- --- --- -w-) =d rwx rwx r-x


记得切换到用户,测试命令

cd  /tmp

touch test3

mkdir test4

ll - d test*


输出结果:

-rw-rw-r-- 1 xiaoku xiaoku    0 Mar 22 09:52 test3
drwxrwxr-x 2 xiaoku xiaoku 4096 Mar 22 09:52 test4/

0 0