【Linux】常用指令

来源:https://www.runoob.com/linux/linux-command-manual.html

1、rm(remove)

用于删除一个文件或者目录

格式:rm [options] name
    -i 删除前逐一询问确认。
    -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    -r 将目录及以下之档案亦逐一删除。

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"
rm test.txt
rm -rf test.txt
rm -rf test/  #删除目录test,不管该目录下是否有子目录或文件,都直接删除


2、cat
cat file.txt      查看文件内容


3、vi
vi file.txt       进入到编辑界面


4、touch

用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的空白文件。

格式:
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

touch testfile  #修改文件"testfile"的时间属性为当前系统时间

ls -l testfile  #可以显示档案的时间记录。


5、ln(link files)

为某一个文件在另外一个位置建立一个同步的链接。

格式:
ln [参数][源文件或目录][目标文件或目录]

其中参数的格式为:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--]

必要参数:
    -b 删除,覆盖以前建立的链接
    -d 允许超级用户制作目录的硬链接
    -f 强制执行
    -i 交互模式,文件存在则提示用户是否覆盖
    -n 把符号链接视为一般目录
    -s 软链接(符号链接)
    -v 显示详细的处理过程

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 :

(1)硬链接(hard link)

--以文件副本的形式存在。但不占用实际空间
--不允许给目录创建硬链接
--只有在同一个文件系统中才能创建

(2)软链接(symbolic link)

--以路径的形式存在。类似于Windows操作系统中的快捷方式
--可以跨文件系统 ,硬链接不可以
--可以对一个不存在的文件名进行链接
--可以对目录进行链接

例:给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效
ln -s log2013.log link2013


6、sudo

以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。


7、chmod(change mode)

控制用户对文件的权限的命令。

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group,与该文件的拥有者属于同一个群体)、其它用户

(Other Users)
只有文件所有者和超级用户可以修改文件或目录的权限。
可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
R W X
4 2 1

chmod [-cfvR] [--help] [--version] mode file

参数说明:

-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本


--mode : 权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
    u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体者,o 表示其他以外的人,a 表示这三者皆是。
    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。


例:
chmod ugo+r file1.txt #将文件file1.txt设为所有人皆可读取
chmod ug+w,o-w file1.txt file2.txt #该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod u+x ex1.py       #为 ex1.py 文件拥有者增加可执行权限
chmod -R a+r *         #将目前目录下的所有文件与子目录皆设为任何人可读取


8、-rw-r--rw-

第一个字符表示的是文件类型(- 表示普通文件,d表示目录文件,c表示字符串设备,若路由器等设备 b表示块设备,硬盘、光驱等)
后面的九个字符表示文件权限。


9、ls(list files)

用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

ls [-alrtAFR] [name...]

参数 :
    -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
    -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    -r 将文件以相反次序显示(原定依英文字母次序)
    -t 将文件依建立时间之先后次序列出
    -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
    -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
    -R 若目录下有文件,则以下之文件亦皆依序列出

例:
ls -ltr s*   #列出目前工作目录下所有名称是s开头的文件,越新的排越后面
ls -lR /bin  #将/bin 目录以下所有目录及文件详细资料列出

10、export

用于设置或显示环境变量。

在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。

11、find

在当前目录下查找某个文件

https://www.cnblogs.com/wtjqs/p/10416654.html

 

12、进入root权限

sudo -i

https://www.cnblogs.com/bwjblogs/p/11795917.html

13、获取shell脚本自身所在目录

#!/bin/bash
SOURCE="$0"
while [ -h "$SOURCE"  ]; do
 # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE"  )" && pwd  )"
SOURCE="$(readlink "$SOURCE")"
 [[ $SOURCE != /*  ]] && SOURCE="$DIR/$SOURCE" 
# if $SOURCE was a relative symlink, we need to resolve it relative to the #path where the symlink file was located done
DIR="$( cd -P "$( dirname "$SOURCE"  )" && pwd  )"

这个版本解决了使用ln -s target linkName创造软链接无法正确取到真实脚本的问题。

1x、修改文档

按下间键盘上的'i'键,最下方就会变成INSERT,这个时候就可以修改;
在修改文件内容之后,输入echo的代码进行保存 Esc+:+wq 这个是保存,回车保存。

修改只读文件:

sudo gedit

http://www.360doc.com/content/21/0119/08/21698478_957733740.shtml

/*******相与枕藉乎舟中,不知东方之既白*******/
原文地址:https://www.cnblogs.com/Mars-0603/p/14922998.html