-
命令格式:
- 使用格式——命令名[选项参数] [操作对象FILE]
-
目录相关命令:
ls
- ls:浏览当前文件目录 注:每个用户都有家目录
- 每个目录下都有两个特殊的目录 : . (当前目录) ..(当前目录的上级目录)
- / home / test 是test 用户登陆主机进入的默认目录 这个目录叫做 test 用户的home 目录
- ~: 用户的home 目录
- ls -a :显示所有文件,不忽略以 .(一个) 开头的文件 隐藏文件是以.开头的文件
- ls - l(小写L):更详细的显示 可以直接ll(两个小写的LL)就好了
时间:最后一次访问 / 修改 / 状态改变时间
pwd
- pwd : 查看当前目录路径(绝对路径及唯一路径)
- 绝对路径:以根目录作为起始路径 / 开头 根目录开头
- 相对路径:以当前路径为起始路径( 以 . (当前目录)或者 ..(当前目录的上级目录)开头 当前目录出发经过若干个结点到达最终目录
注:谈到相对路径 必须明确当前目录是谁 以谁为起点
mkdir
- mkdir :创建目录
- -p:递归创建多层多层级目录(那一层不存在创建那一层) eg : mkdir - p 路径
rmdir
- rmdir: 删除空目录,经常用于空目录清理
- -p:递归删除多几层中的空目录 eg:rmdir -p 路径
rm
- rm:删除普通文件 要想删除目录: rm -r
- -r:递归删除 目录中的所有文件,包括自身目录 eg:rm -r 路径
- rm -r -i a : 提示是否删除目录a
- -i会有提示,若目录下有文件 他会一条一条提示你是否删除 是:输入y 否:输入n
- -f:强制删除 eg:rm -rf 目录a: 直接强制删除目录a 不提示
注:工作时候,删除的时候最好创建 mkdir trash(回收站) ,然后用mv 指令放进去
cp
- cp: 复制一个文件(普通文件)到另一个位置 eg:cp a/1/txt ./b/2.txt
注:文件名不同的时候,同时也可以,相当于进行了重命名
- -r:递归对目录下所有文件进行复制,包括目录自身
- -f:忽略提示直接操作
mv
- mv: 剪切,将一个(文件1/目录2)移动到(文件2/目录2 )
- 也有改名功能 eg:mv 文件1/目录1 文件2/目录2
- 若 (文件2/目录2) 不存在,实际对(文件1/目录1)进行改成(文件2/目录2) 的名字,还是原来文件)
- -i:增加提示信息
cd
- cd: 进入,改变当前路径(进入指定的路径名/文件夹名字) eg:cd 路径
- cd - :返回上一次所在路径 eg:cd -
- cd ~:快速返回当前用户的家目录
-
文件相关命令:
touch
- touch: 若文件不存在,则创建空文件,文件存在则刷新时间属性(最后一次修改时间)
- touch 路径: 创建多个文件
- -d:touch -d “时间(2018-2-2 12:02:20)” 指定时间来刷新文档时间
- -r: -r 文档1 文档2 文档1 时间来刷新 文档2 时间
注:用的最多就是创建空文件
echo
- echo 输出一个字符串
- echo > 重定向 把字符串写到文件中:echo "heallo" > 文件名
注:不touch 利用 echo 重定向 也可以直接创建文件
cat
- cat : 查看文件的内容
- -n:打印行号
- tac: 按行逆序打印文件内容到显示终端
more
- more: 分页显示文件内容 按空格向下翻页,按回车向下滚动,按q就退出了,结束会自动退出 eg:more 目录
less
- less:分页显示文件内容(文本查看工具,当文件特别大的时候更方便,配合j/k上下翻页,q退出)
注:有xshell的时候鼠标滑轮可以滚动,但是现实不稳定,容易看花了,没有xshell 就没有那个功能,
同时less打开大文件效率会特别高例如几个G的大文件,以后公司的日志文件就需要less快速打开,
因为它只是把一部分小数据加载到内存中,而大部分编译器直接把整个文件加载,太大就很慢(延时加载/懒加载)
- less 目录 /字符信息 :只能向下查找 按n 找下一个字符位置
- less 目录 ?字符信息 : 向上查找 按n 找下一个字符位置
head
- head: 显示文档前几行内容,默认显示文档的前十行内容
- head -n 10(数字) 文档目录:指定显示前10(数字)行内容
注:写脚本的时候方便
tail
- tail: 默认显示文档的前十行内容
- tail - n 10(数字)文档目录:指定显示末尾10(数字)行内容
例题:打印第十行内容(前十行的最后一行)
利用管道符 | :前面的命令结果交给后面的命令做为输入,进行处理
解:head -n 10 文件名 | tail -n 10
- tail -f 文档目录:一直刷新文件末尾新数据
-
压缩命令:
zip/unzip
- zip/unzip:zip格式的压缩/解压缩 eg: zip trash.zip trash/ * -r 压缩一个trash(目录)
- unzip trash.zip 解压
注:更方便,建议用这个
gzip/gunzip
- gzip/gunzip:gzip格式的压缩/解压缩
bzip2/bunzip2
- bzip2/bunzip2:bzip2格式的压缩/解压缩
tar
- tar - c:打包
- -x:解包
- -v:显示详细的打包或解包信息
- -f:用户指定包名称必须后面跟上包名
- -z:gzip格式的压缩 / 解压
- -j:bzip2格式的压缩 / 解压 eg:tar -cz/jvf 包名字(package.tar.gz) 文档/文件 (n个) 源文件没有删除
注:z的含义是gzip格式的压缩 / j的含义是bzip2格式的压缩
-
时间日期命令:
cal
- cal:查看日历
- -3:查看最近三个月日历
- -y:查看全年日历
- -j:以day of year 形式显示日历 (一年的第几天)
date
- date:显示当前时间
- 获取任意格式化时间
- 格式化时间和时间戳计算
- - s:设置系统时间
- + %A’以指定格式显示时间单引号内部就是指定格式
- + %H-%m-%d %H-%M-%S’
- date +%s 获取时间截
- date - d@[时间戳] 转换成当前时间
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日(01..31)
- %m : 月份(01..12)
- %Y : 完整年份(0000..9999)
- %F : 相当于 %Y-%m-%d
使用时候: eg: date +%Y-%m -%d 就好了
注:时间戳存在的原因如下:
- srand()产生随机种子的原因 他和数学随机数不一样,数学上是完全随机的,计算机是通过公式得到看上去随机的一些列数,是伪随机,
- 他那个随即变换的数字就是初始值就是随机种子,不同初始值就不同的随机序列,如果相同的随机初始值就是相同的随机序列
- srand(time(NULL) time 函数就是取时间戳,时间戳在计算程序运行时间也会用的上
- C语言中:一个字节八位 int8_t int16_t 等等就可以得到几位,在所有计算机都一样 他们在#include<stdint,h>这个头文件中
-
匹配查找命令 :
grep
- grep:从文件内容中匹配包含字符串的行
- -iv <字符串> 文件
- -i:忽略英文大小写 进行匹配
- -v :反向匹配 匹配那些不包含字符串的项目
- -R:递归对目录下所有文件逐一进行匹配
find
- find:在指定目录下搜索文件
- find -name 1.txt(文件名字): 找1.txt(文件名字) 注:按名字查找
- find - name 1.*(文件名字) : 找1.*(文件名字) 注:按名字查找 *通配符:配任何字符串,大部分Linux都满足通配符
-
其他:
man
- man 手册命令,查看命令/函数/特殊文件手册,即查看命令使用方法 eg: man ls
注:查看时可以用 j/k 向上/向下 进行翻阅(方向键也可以,j/k更方便,因为手的移动会耽搁你的编码效率哦!!!哈哈~~~用多了就方便了) 按q 退出。还有网站MSDN、cplusplus网站来查 但是推荐cplusplus,因为MSDN微软写的 cplusplus更官方哦!!!
stat
- stat:查看文件详细信息 eg:stat 文件名
其他:
- ctrl +c :中断当前操作
- tab : 按一次补全命令 按两次提示所有可能的命令
- reboot:重启
- shutdowm -h now:立即关机
- halt:立即关机
- ping www.youkuaiyun.com<网站>: 验证是否连上网
- su:进入 root
- exit:离开root 用户
tree
- tree:树形显示该目录下的所有文件
注:需要 root 下 yum install tree 安装
shell
- shell:命令行解释器,将用户操作解释给操作系统;操作系统结果解释给用户。(用户和操作系统之间的桥梁)
- shell命令:我们所执行的命令其实就是一个个的程序封装了相应的功能
注:shell 是一个统称,系统上默认的shell程序叫做bash, bash 这样的程序最广泛使用的Liunx shell程序