Linux:
是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux的基本思想:
1)一切都是文件
2)每个软件都有确定的用途
系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件
什么是shell?
shell 也是操作系统中的一个软件 ,它包在 linux 内核的外面, 为用户和内核之间的交互提供了一个接口 ; 系统中的命令用 shell 去解释 ,shell 接收系统回应的输出并显示其到屏幕中 : bash = GNU BourneAgain Shell
shell命令的输入格式: 命令 参数 目标
1) 命令:想要执行的功能
2) 参数:指定命令的功能
3) 目标:想要对哪个文件执行该命令
Linux的基本命令:
1:命令行提示符:[运行bash的用户@bash所在的主机短名称 当前所在的目录]用户身份提示符(#:超级用户 $:普通用户)
2:常用命令:
1)ls: 显示当前目录下的一般文件(不包括隐藏文件)
ls -l : 显示更详尽的参数信息 (例如:文件权限,文件修改时间,文件大小等属性)
ls -a: 显示该目录下的所有文件(包括隐藏文件:Linux下以 ‘.’ 开头的文件都被系统视为隐藏文件)
ls -F: 显示该目录下文件的文件类型(不包括隐藏文件):
*:可执行文件 / : 目录 @:连接文件 = :sockets套接字 |: 表示管道
ls -d: 显示目录本身:
ls -R : 递归显示文件
ls -s : 显示文件大小,单位:字节
2)cd : 用于切换用户当前工作目录,若不指定切换目录,则进入当前用户的主目录
cd .. : 切换至当前目录的上一级目录下
cd - : 回退到当前切换前的目录
cd ~ : 进入当前用户的主目录
3) < TAB > :table键可以自动补全,当自动补全不了时,可能出现了 内容不唯一 或者 内容不存在
4)获得帮助的命令:
命令 --help : 获取该命令的使用帮助
man 命令: 获取命令的使用文档
5)shell中的历史调用:
上下键:逐条翻找历史(适合找寻就近使用过的命令)
!数字:调用此编号的历史(每条历史都会分配一个编号)
!字母:调用最近一次字母开头的历史
ctrl+r+关键字:调用最近一条含有次关键字的历史
history -c : 清空当前的历史
history: 显示历史
6)cat : 显示 或 连接一般的 ASCII 文本文件
cat -b file: 输出标准行号,忽略空行
cat -n file : 输出标准行号,不忽略空行
cat file : 显示file 中的内容
cat file1 file2: 依次显示file1,file2的内容
cat file1 file2 > file3: 将 file1 和 file2 的内容结合起来,再重定向 “ > ” 到 file3 中
****注意:
">"是右重定向符,表示将左边命令结果当成右边命令的输入,注意:如果右侧文件是一个已存在文件,其原有内容将会被清空,而变成左侧命令输出内容。如果希望以追加方式写入,请改用">>"重定向符。
如果">"左边没有指定文件,如: cat >file1,将会等用户输入,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输入内容写入file1
7) pwd : 显示当前的工作目录
8)touch : 新建空文件,也可修改文件的时间戳
9)stat : 可查看文件的时间戳
Access: 被访问的时间
Modify: 内容被修改的时间
Change: 文件被修改的时间
10) mkdir: 创建 目录
mkdir -m 目录名: 指定文件权限
mkdir -p 目录名: 建立递归目录(若指定路径的父目录不存在则一并创建)
rmdir: 删除目录
rmdir -p 目录名: 递归删除目录(删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir)
11) gedit : GNOME EDIT 启动文本编辑器
gedit file : 开启 file 并编辑保存
12) head -n 文件: 默认显示文件头10行, n 可自定义
tail -n 文件: 默认显示文件尾10行,n可自定义
tail -f 文件: 可实时查看文件更新的内容,从而达到监控的目的
13)more/less 文件 :用于分页查看文件,如果一个文件太长,显示内容超出一个屏幕, 用cat命令只能看到最后的内容,用more和less两个命令可以分页查看more指令 可以使超过一页的文件内容分页暂停显示,用户按键后才继续显示下一页。 less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,更方便浏览阅读。
回车键 向下移动一行;
y 向上移动一行;
空格键 向下滚动一屏;
b 向上滚动一屏;
d 向下滚动半屏;
h less的帮助;
u 向上洋动半屏;
w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
g 跳到第一行;
G 跳到最后一行;
p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
/pattern 搜索关键字:pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
v 调用vi编辑器;
q 退出less
!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;
14)wc: word count 统计文件
wc -c : 统计文件的字节数
wc -l : 统计文件行数
wc -m : 统计文件的字符数
wc -w: 统计文件字数
15)cp:copy 复制文件 或 目录
cp -r 目录1 目录2: 将 目录1 复制到 目录2 中
cp -p : 复制权限
cp -v: 显示复制过程中的详细信息
16)mv : move 移动文件 或 目录 / 给该文件或目录 重命名
mv file ~/test2/file2 : 将file文件移动到test2目录下,并改名为 file2
17) rm : remove删除文件( 慎用 )
rm -f : 强制删除
rm -i : 删除之前会询问是否要删除
rm -r : 支持删除目录
慎用: rm -rf ./* : 强制删除所有目录和文件,包括根目录
18) du 、df :
du : 显示当前目录所占用的磁盘空间
df : 当前磁盘锁剩余的空间
du -hs 指定目录 查看指定目录的总大小
du -hs ./* 查看当前目录下的所有文件夹和文件的大小
这两个命令都支持-k,-m和-h参数,-k和-m类似,都表示显示单位,一个是k字节一个是兆字节,-h则表示human-readable,即友好可读的显示方式。
19)echo: 会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行符
-n 显示字串时在最后自动换行
-e 支持以下格式的转义字符, -E 不支持以下格式的转义字符
/a 发出警告声;
/b 删除前一个字符;
/c 最后不加上换行符号;
/f 换行但光标仍旧停留在原来的位置;
/n 换行且光标移至行首;
/r 光标移至行首,但不换行;
/t 插入tab;
/v 与 /f 相同;
// 插入/字符;
/nnn 插入nnn(八进制)所代表的ASCII字符;
****注意:
在Linux使用的bash下,单引号’’和双引号是有区别的,单引号忽略所有的转义,双引号不会忽略以下特殊字符:
Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)