指令、命令、工具、程序本质都是可执行程序
1.新增 adduser name
2.密码 password name
3.删除 userdel name
4.查看当前路径 pwd
Linux 路径分割符是 ’ \ ’
Windows 路径分隔符是 ’ / ’
5.显示文件名 ls
[ 选项 ]
选项 | 功能 |
---|---|
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
-l | 使用长格式列出文件及目录的详细信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-n | 用数字的UID,GID代替名称(介绍UID,GID) |
-d | 查看目录的信息,而不是里面子文件的信息 |
-i | 输出文件的inode节点信息 |
-m | 水平列出文件,以逗号间隔 |
-k | 以k字节形式表示文件大小 例:ls -alk [文件] |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “…” (父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
-X | 按文件扩展名排序 |
–color | 输出信息中带有着色效果 |
8512 是文件大小
d 开头的文件类型是目录
- 开头的文件类型是普通目录
这里的
.
是当前路径..
是 上级路径
.
开头文件是隐藏文件
6.创建文件 touch [选项] [文件]
功能:创建文件,或者更改文档的日期时间,包括存储时间和更改时间
选项 | 功能 |
---|---|
-a/–time=atime | 改变档案的读取时间记录 |
-m/–time=mtime | 改变档案的修改时间记录 |
-r | 使用参考档的时间记录,与 --file 的效果一样 |
-c/–no-create | 不创建新文件 |
-d | 设定时间与日期,可以使用各种不同的格式 |
-t | 设定档案的时间记录,格式与 date 命令相同 |
-f | 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题 |
–help | 显示帮助信息 |
–version | 列出版本讯息 |
7.打开文件 nano
[ 选项 ] [ 文件 ]
8.编译,产生可执行文件a.out gcc test.c
9.运行 ./a.out
10.更改路径(change director) cd
[ 选项 ]
cd ..
回退路径
cd ~
工作路径
绝对路径
相对路径
11.起别名 alias [ 名字 ] = '命令'
alias back = 'cd ..'
把cd ..
改成 back
其实 ll
就是 alias ll = 'ls -l'
每次更改只在本次登录起作用
12.创建目录 mkdir [目录名]
(make director)
如果想创建一条路径,要带上-p
选项
mkdir -p p1/p2/p3/p4
13.删除目录 rmdir
[ 选项 ] [ 文件 ] (remove dirctor)
删除文件 rm
[ 选项 ] [ 文件 ]
-r
递归删除
-f
不报警告,强制删除
14.查看相关信息 man
[ 选项 ] [ 命令名字]
选择相应的位置的信息,就好像以下两个是不同的
man printf
- Linux 的
15.拷贝目录或者文件 cp [ 选项 ] [ 文件 ]
选项 | 功能 |
---|---|
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“pdr”选项 |
cp -rf [文件]
和上面的一样强制并且递归,用于拷贝目录
16.剪切(移动) 文件 mv [选项] [源文件] [目标文件]
可以移动文件 mv ks.cfg /etc
把文件移到/etc目录下
还可以重命名文件
mv [文件名1] [文件名2]
把文件名1
改成文件名2
count=0; while[$count -le 1000]; do echo "hello ${count}"; let count++; done > file.txt
17.查看文件内容 cat
[ 选项 ] [ 文件 ]
-n
带上行号
18.反向显示文件内容 tac
[ 选项 ] [ 文件 ]
more
和 less
可以去用来查看别人写的代码,或者是日志。
19.more
[ 选项 ] [ 文件 ] 类似cat
(不推荐)
20.less
[ 选项 ] [ 文件 ] 类似cat
less
命令的功能是用于分页显示文件内容。分页显示的功能与more
命令很相像,但more
命令只能从前向后浏览文件内容,而less
命令则不仅能从前向后,还可以从后向前浏览文件内容,更加灵活。
选项 | 功能 |
---|---|
-b | 设置缓冲区的大小 |
-e | 当文件显示结束后自动退出 |
-f | 强制打开文件 |
-g | 只标志最后搜索的关键词 |
-i | 忽略搜索时的大小写 |
-m | 显示阅读进度百分比 |
-N | 显示每行的行号 |
-o | 将输出的内容在指定文件中保存起来 |
-Q | 不使用警告音 |
-s | 显示连续空行为一行 |
-S | 在单行显示较长的内容,而不换行显示 |
-x | 将TAB字符显示为指定个数的空格字符 |
21.查看文件前十行 head
[ 选项 ] [ 文件 ]
head -3 xx
查看前三行
22.查看文件后十行 tail
[ 选项 ] [ 文件 ]
tail -3 xx
查看后三行
23.将内容显示到标准输出 echo [ 内容 ]
想要中间的N行怎么办?
head -120 file.txt | tail -20
先拿120行出来,然后再取后20行
时间戳: date +%s
date date +%Y-%m-%d_%H:%M:%S -d @时间戳
把时间戳转化为时间
25.显示阳历(公历) cal
[参数] [月份] [年份] (Calendar)
选项 | 功能 |
---|---|
-3 | 显示最近三个月的日历 |
-j | 显示在当年中的第几天(按天算从,1月1日开始) |
-y | 显示当年的日历 |
26.用于在文件树下查找文件,并作出相应处理 find
[路径] [选项]
27.在文件里搜索字符串,将找到的打印出来 grep [选项] [字符串] [文件]
选项 | 功能 |
---|---|
-i | 忽略大小写 |
-n | 列出所有的匹配行,显示行号 |
-v | 显示不包含匹配文本的所有行 |
-c | 只输出匹配行的数量 |
28.压缩,解压缩 zip
/unzip [选项] [文件]
默认zip
是不会解压文件并且把内容都解压的,需要-r
29.打包,解包,不打开直接看内容 tar
[参数] [文件]
选项 | 功能 |
---|---|
-c | 建立一个压缩文件的参数指令 |
-x | 解开一个参数文件的参数指令 |
-t | 查看tarfail里面的文件 |
-z | 是否同时具有gzip的属性,或者是否需要gzip压缩 |
-j | 是否同时具有bzip属性,或者是否需要bzip压缩 |
-v | 压缩时显示文件,常用,但是不建议用在背景执行过程 |
-f | 使用档名,f 之后要立即接档名,不要再加参数 |
-C | 解压到指定目录 |
30.计算器 bc
31.显示历史命令 history
32.改变文件或目录权限 chmod [选项] [文件]
这里就需要先了解粘滞位
选项 | 功能 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
将文件test.txt权限改为775
chmod 775 test.txt
加上粘滞位
chmod +t /home/
当一个目录被设置为"粘滞位"(用chmod +t
),则该目录下的文件只能由
gcc [参数] 源文件
gcc命令来自于英文词组“GNU Compiler
Collection”的缩写,其功能是用于C/C++语言编译器。gcc是开源领域使用最广泛的编译工具,具有功能强大、兼容性强,效率高等特点。
预编译(Preprocessing)、编译(Compilation)、汇编 (Assembly)、连接(Linking)。
选项 | 功能 |
---|---|
-o | 指定生成的输出文件 |
-E | 仅执行编译预处理 |
-S | 将C代码转换为汇编代码 |
-wall | 显示警告信息 |
-c | 仅执行编译操作,不进行连接操作 |
-g | 生成debug程序。向程序中添加调试符号信息 |
count=0; while[$count -le 1000]; do echo "hello ${count}"; let count++; done > file.txt
>
输出重定向输出重定向,本来要输出到显示上,但是被重定向到了文件里
echo "hello world!" > test.txt
cat test.txt
>>
追加重定向如果想加内容,可以用 >>
echo "hello world!" >> test.txt
cat test.txt
<
输入重定向从键盘上读取内容
cat < test.txt
|
管道把一个命令执行完的结果传递给另一条命令
其实这里有隐式重定向
head -120 file.txt | tail -20
先拿120行出来,然后再取后20行。
hjkl 控制上下左右
其中 h
表示左 ,l
表示右 ,k
表示上 ,j
表示下
shift + 6
跳到行首
shift + 4
跳到行末
gg
起始行
shift + g
末尾行
n + shift + g
跳转到指定行
b / w
按照单词为单位移动光标
yy
复制当前行
nyy
复制当前行及其之后的n行
p
粘贴
np
一次粘贴n行
u
撤销
dd
删除 支持ndd
dd->p
剪切
shift + ~
大小写转换
x
删除光标后内容 支持nx
shift + x
删除光标前内容 支持nx
r
替换一个字符,支持nr
shift + r
替换模式
set nu
调出行号
set nonu
取消行号
!man [文件名]
可以在vim的同时查看手册
!make
可以直接编译
!./[文件名]
可以直接运行