Linux命令行的组成结构

Linux系统命令操作语法格式
| 命令 | 空格 | 参数 | 空格 | 【文件或路径】需要处理的内容 |
| rm | -rf | /tmp/* | ||
| ls | -la | /home | ||
| 结婚 | -没车没房 | 女的就行 | ||
| 结婚 | -有车有房 | 白富美 |
1.一般情况下,【参数】是可选的,一些情况下【文件或路径】也是可选的
2.参数 > 同一个命令,跟上不同的参数执行不同的功能
执行linux命令,添加参数的目的是让命令更加贴切实际工作的需要!
linux命令,参数之间,普遍应该用一个或多个空格分割!
创建一个目录 /newfile
make directory > mk dir > mkdir
------------------------------- mkdir /newfile
------------------------------- cd / mkdir newfile
#递归创建a/b c/d
mkdir -p a/b c/d
#递归创建test/a,b,c,d四个目录
mkdir -p test/{a,b,c,d}
#递归创建文件夹a/b/c/d/e
mkdir -p a/b/c/d/e
查看目录 /newfile
#显示/newfile下的内容 ls /newfile
改变当前的目录/位置
cd /home cd ~ cd -
打印当前工作目录
#打印当前工作目录 pwd
创建文件或者修改文件时间戳(文件属性)
创建文本
修改文件的修改时间
#修改文件的更改时间,很多黑客就会在恶意修改文件之后再修改成之前的时间
ls -l
echo 'sb' >> xxx.py
touch -t'07101530' 1.txt
#触摸 touch xxx.py
stat命令
显示文件或文件系统的状态。
#用法 stat [参数] 文件
参数列表:
-L, --dereference 跟随链接
-f, --file-system 显示文件系统状态而非文件状态
-c --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行
--printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作
输出结尾。如果您仍希望使用换行,可以在格式中
加入"\n"
-t, --terse 使用简洁格式输出
--help 显示此帮助信息并退出
--version 显示版本信息并退出
格式化输出参数:
%a 八进制权限
%A 用可读性较好的方式输出权限
#实例1
[root@master tmp]# stat 1.txt File: '1.txt' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 17348002 Links: 1 (权限)Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) (最近访问)Access: 2018-07-10 15:30:00.000000000 +0800 (最近更改)Modify: 2018-07-10 15:30:00.000000000 +0800 (最近改动)Change: 2018-11-07 15:38:36.400989868 +0800 Birth: -
#实例2,显示文件权限
[root@master tmp]# stat -c %a 1.txt
644
[root@master tmp]# stat -c %A 1.txt
-rw-r--r--
vim
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
#方法,命令 vi vim 使用vi打开oldboy.py,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python" 按下esc键,回到命令模式 输入 :wq! 强制保存退出
w write 写入
q quit 退出
! 强制 或者 :x 保存退出
------
:q 不保存退出
:q! 不保存强制退出
查看文件内容
cat命令用于查看纯文本文件(常用于内容较少的)
#查看文件,显示行号
cat -n xxx.py
#猫,查看文件
cat xxx.py
#在每一行的结尾加上$符
[root@master tmp]# cat -E 1.txt
#追加文字到文件
cat >>/tmp/oldboy.txt << EOF
唧唧复唧唧
木兰开飞机
开的什么机
波音747
EOF
more命令
1.more命令用于查看内容较多的文本,例如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾。
2.more命令查看文本会以百分比形式告知已经看到了多少,使用回车键向下读取内容
more /etc/passwd
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
Linux快捷键
1.tab键 用于自动补全命令/文件名/目录名
2.ctrl + l 清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作
echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”
#默认吧内容显示到终端上 echo "超哥666"
echo "超哥666" > /tmp/chaoge.txt
echo $PATH #取出打印PATH的值
特殊符号
输入/输出 重定向符号
1.>> 追加重定向,把文字追加到文件的结尾 2.> 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
3.< 输入重定向
4.<< 将输入结果输入重定向
echo "oldboy-python666" > /tmp/oldboy.txt
echo "chaoge666" >> /tmp/oldboy.txt
cat >>/tmp/oldboy.txt << EOF
------------------------------------
我想把命令执行的结果信息,写入到文件中
ip addr > /tmp/network.txt #标准输出重定向 把命令执行结果信息,放入到文件中
3.通配符
ls -l /etc/us*
复制(拷贝)命令
复制 > copy > cp
#移动xxx.py到/tmp目录下 cp xxx.py /tmp/
#移动xxx.py顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py
Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数)
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变 可以用stat
cp -a 相当于-pdr
#递归复制test文件夹,为test2
cp -r test test2
cp是个好命令,操作文件前,先备份
cp main.py main.py.bak
移动命令
移动(搬家)命令 > move > mv cd /home
mv /home/shahe/newfile /tmp/chaoyang
文件/文件夹改名
mv x.log xx.log
删除命令
删除 > remove > rm
参数 -i 需要删除确认
-f 强制删除
-r 递归删除目录和内容
cd /tmp rm hahaha.py #默认有提示删除,需要输入y rm -f hahaha.py #不需要提示,强制删除
#rm默认无法删除目录,需要跟上参数-r
rm -rf /tmp/hahaha/
--------
友情提醒:初学者使用rm命令,随时快照虚拟机
查找命令
#Linux里如何找到需要的文件 例如 app01.py find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数
-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
find /tmp/ -type f -name "app01.py"
#找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"
#找到/etc下所有名字以host开头的文件
find /etc -name 'host*'
#找到/opt上一个名为settings.py
find /opt -name 'settings.py'
浙公网安备 33010602011771号