Linux常用命令总结(一)
前言
- 本文是关于个人使用Linux常用命令的学习笔记,由于水平有限,难免出现错漏,敬请批评改正。
- 更多精彩内容,可点击进入我的个人主页查看
相关介绍
- Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
Linux常用命令
ls(list)
ls(英文全拼:list)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
ls [-alrtAFR] [name...]
参数:
-a 显示所有文件及目录,包含以.开始的隐藏文件
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
按大小反序显示文件详细信息
按易读方式按时间反序排序,并显示文件详细信息
列出当前目录中所有以"a"开头的目录的详细内容
pwd(print work directory)
Linux pwd(英文全拼:print work directory) 命令用于显示工作目录。
执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
pwd [--help][--version]
参数:
--help 在线帮助。
--version 显示版本信息。
查看当前路径
pwd
查看软链接的实际路径
pwd -P
cd(change directory)
cd(英文全拼:change directory)命令用于切换当前工作目录。
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, . .则表示目前目录位置的上一层目录。
cd [目录名]
进入根目录
进入 “home” 目录
进入上一次工作路径
把上个命令的参数作为cd参数使用
mkdir(make directory)
mkdir(英文全拼:make directory)命令用于创建目录。
mkdir [-p] dirName
参数:
-m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。
当前工作目录下创建名为a的文件夹
在 tmp 目录下创建路径为 test/t1/t2 的目录,若不存在,则创建
mkdir -p /tmp/test/t1/t2
rm(remove)
rm(英文全拼:remove)命令用于删除一个文件或者目录。
删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
rm [选项] 文件...
参数:
-i, --interactive 删除时给出提示
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除
-f --force 强制删除
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
删除任何 .log 文件,删除前逐一询问确认
rm -i *.log
删除 test 子目录及子目录中所有档案删除,并且不用一一确认
rm -rf test
删除以 -f 开头的文件
rm -- -f*
注:删除操作需谨慎。
rmdir(remove directory)
rmdir(英文全拼:remove directory)命令删除空的目录。从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。(不能删除非空目录)
rmdir [-p] dirName
参数:
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
当tmp子目录被删除后使它也成为空目录的话,则顺便一并删除
rmdir -p /tmp/test/t1/t2
注:删除操作需谨慎。
mv(move file)
mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
mv [options] source dest
mv [options] source... directory
参数:
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
将文件 test.log 重命名为 test.txt
mv test.log test.txt
将文件 test1.txt,test2.txt,test3.txt 移动到 test 目录中
mv test1.txt test2.txt test3.txt test
将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖
mv -i file1 file2
移动当前文件夹下的所有文件到上一级目录
mv * ../
cp(copy file)
cp(英文全拼:copy file)命令主要用于复制文件或目录。将源文件复制至目标文件,或将多个源文件复制至目标目录。
cp [options] source dest
或
cp [options] source... directory
参数:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
注:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
复制 test.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖
cp -ai test.txt test
为 test.txt 建立一个链接(快捷方式)
cp -s test.txt link_test.txt
cat(concatenate)
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
cat [-AbeEnstTuv] [--help] [--version] fileName
参数:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
cat 主要有三大功能:
- 一次显示整个文件:
cat filename
- 从键盘创建一个文件:
cat > filename
注:只能创建新文件,不能编辑已有文件。
- 将几个文件合并为一个文件:
cat file1 file2 > file
-b 对非空输出行号
-n 输出所有行号
把 test1.txt 的文件内容加上行号后输入 test2.txt 这个文件里
cat -n test1.txt test2.txt
把 test1.txt 和 test2.txt 的文件内容加上行号(空行不加)之后将内容附加到 test.txt 里
cat -b test1.txt test2.txt test.txt
使用 here doc 生成新文件
cat >log.txt <<EOF
反向列示
tac log.txt
more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数:
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
显示文件中从第2行起的内容
more +2 test.txt
在所列出文件目录详细信息,借助管道使每次显示 4 行
ls -l | more -4
注:按空格显示下 4 行。
更多精彩内容,可点击进入我的个人主页查看