Linux 基本命令 vi 或 vim cat mory echo 特殊符号 复制 移动命令(改名) 删除命令 xargs命令 find查找 grep head命令 tail命令 管道命令 sed?????????? akw which命令 alias 起别名 seq scp命令 du命令 df命令 top命令 chattr命令(加锁、解锁) Linux时间同步 Ntp时间服务器???????? wget命令(在中断下载网络文件) 开关机命令 关于Linux xshe11常用的快捷键
查看命令
ls 查看目录文件
ls -la 查看所有目录(包括隐藏文件)
stat 文件(目录) 查看文件(目录)的详细信息
lsattr 文件 查看文件的隐藏属性
. 当前目录
.. 上一层目录
- 前一个工作目录
~ 当前【用户】所在的家目录
文件夹操作
增
mkdir 文件夹名称 创建文件夹
touch .py文件 创建一个文件
可以使用递归来生成文件夹结构
全是文件夹的 mkdir -p(参数) 文件夹1/文件夹2/文件夹3
文件夹下的文件 mkdir -p(参数) 文件夹4/{文件夹5,文件夹6,文件夹7} (文件夹5、6、7并列)
删
rmdir 文件夹名称(空的)
想要删除非空的文件夹 rm -rf ./*
改
mv 原文件名 新文件名(也有可能是移动)
执行第一个python命令
touch .py文件 创建一个py文件
vi py文件 进入文件中
按下键 i 进入编辑模式
按下键o (在光标所在的下一行进入编辑模式)
按下键 Esc 进入命令模式
输入命令 :wq! 保存退出
输入命令 :q! 退出,不保存
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令
移动光标
w(e) 移动光标到下一个单词
b 移动到光标上一个单词
数字0 移动到本行开头
$ 移动光标到本行结尾
H 移动光标到屏幕首行
M 移动到光标到屏幕的中间一行
L 移动光标到屏幕的尾行
gg 移动光标到文档的首行
G 移动光标到文档尾行
ctrl + f 下一页
ctrl + b 上一页
`. 移动光标到上一次的修改行查找
/chaoge 在整篇文档中搜索chaoge字符串,向下查找 ?chaoge 在整篇文档中搜索chaoge字符串,向上查找 * 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处 # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处 gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
% 找到括号的另一半!!复制,删除,粘贴
yy 拷贝光标所在行 dd 删除光标所在行 D 删除当前光标到行尾的内容 dG 删除当前行到文档尾部的内容 p 粘贴yy所复制的内容
x 删除光标所在的字符
u 撤销上一步的操作数字与命令
3yy 拷贝光标所在的3行
5dd 删除光标所在5行输入模式
在命令模式下按下字母i 可以进入输入模式
在输入模式下按下键Esc 可以退出输入模式
底线命令模式
在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:
:q! 强制退出 :wq! 强制写入退出
:set nu 显示行号
:数字 调到数字那行
随时按下esc可以退出底线命令模式
vim按键
移动光标
移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一个字符
向下移动5行 5j
向右移动10字符 10l
n(space) 按下数字n,例如10,然后按下空格,光标会向右移动10个字符底线命令
:! command 暂时离开vim指令模式,执行command的结果 例如 :!ip a 临时看一下ip信息,然后可以回到vim
:set nu 显示vim行号
:set nonu 取消行号更多vim用法请看菜鸟教程:http://www.runoob.com/linux/linux-vim.html
vi 文件(vim 文件) 进入文件
默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python"
按下esc键,回到命令模式 输入 :wq! 强制保存退出
w write 写入
q quit 退出
! 强制 或者:x 保存退出
:q 不保存退出
:q! 不保存强制退出
链接:vim与程序员
cat
cat命令用于查看纯文本文件(常用于内容较少的)
cat w文件 查看w文件
cat -n w文件 或 cat w文件 -n 查看文件并打印行号
cat 追加文字到文件
mory
用于查看内容多的文本
例如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾。
more命令查看文本会以百分比形式告知已经看到了多少,使用回车键向下读取内容
mory 路径/文本
echo
echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”
覆盖写入 和 追加写入(echo有打印的意思,只是将打印的内容没有打印在终端而是打印在文件中)
特殊符号
重定向符号 1.>> 追加重定向,把文字追加到文件的结尾 2.> 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾 echo "oldboy-python666" > /tmp/oldboy.txt echo "chaoge666" >> /tmp/oldboy.txt ------------------------------------ 我想把命令执行的结果信息,写入到文件中 ip addr > /tmp/network.txt #标准输出重定向 把命令执行结果信息,放入到文件中 3.通配符 * ls -l /etc/us* 查看etc文件夹下以us开头的详细信息
复制
copy 简写 cp
在操作文件前,请先做好备份
cp 新建文件 新建文件备份
cp 参数 目标文件 重命名,复制后的文件
参数:
cp -r 递归,复制目录以及目录的子孙后代(相当于新建了一个目录只是这个目录的结构)
cp -p 复制文件,同时保持文件属性不变
cp -a 相当于 -pdr (完全复制)
复制XXX.py 到 tmp 目录下
cp XXX.py tmp
复制XXX.py 到 tmp 目录下顺便改名为chaoge.py
cp XXX.py tmp/chaoge.py
移动命令(改名)
move 简写 mv
mv 旧目录 新目录 改名:将旧目录改名为新目录
mv 移动目录 目录 移动:将移动目录移动到目录中
mv 移动文件 目录 移动:将移动文件移动到目录中
移动和改名的区别在于:要移动(改名)的对象是否存在,若存在为移动,不存在是改名
删除命令
remove 简写 rm
rm XXX.py 只适用于空的文件,无法删除目录
在删除的时候,会有提示:是否确认删除,你需要按 y 确认
参数
-f 取消提示,强制删除
-r 可以删除目录
rm -rf tmp 删除目录tmp,取消提示
新手注意:
rm -rf ./* 这句话的意思是 删除(rm)当前(.)目录(-r)下的所有内容(*) 且没有提示(-f)
------------------
基于以上友情提示:初学者使用rm命令,要随时快照虚拟机(备份存档)
在虚拟机上(不是Xshell等远程连接的对象)
xargs命令
find查找
Linux里如何找到需要的文件 例如 oldboy.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
find /tmp/ -type f -name "oldboy.py"
#找出/tmp所有以 .txt 结尾的文件 find /tmp/ -type f -name "*.txt" #找到/etc下所有名字以host开头的文件 find /etc -name 'host*' #找到/opt上一个名为settings.py find /opt -name 'settings.py'
grep
(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。常用于配置文件的编辑
语法:grep 参数 [--color=auto] [字符串] filename(文件名)
参数:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color=auto 给关键词部分添加颜色(默认存在)
字符串:要查找的内容
示例:
grep ‘HOST’ settings.py 在settings.py文件中查找 ‘HOST’的关键词
常用于查看进程 ps -ef
查看有哪些端口存活 netstat -tunlp
head命令
head显示文件的前几行,默认是前十行
查看前两行
head -2 新建文件.txt
tail命令
tail 显示文件后几行,默认是后十行
查看后两行
tail -2 新建文件.txt
实时刷新显示
tail -f 日志文件.log
显示文件的10-30行
head -30 文件.txt | tail -21 (从iii.txt文件中的前三十行中挑出21行(从第10到30行算上第10行共有21条))
管道命令
命令格式:命令A | 命令B
Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
常常和 grep。。 搭配在一起
sed??????????
sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。
处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),
接着用sed命令处理缓冲区中的内容,
处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。
Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
akw
which命令
which命令用于查找文件。准确的说是查找并显示给定命令的绝对路径
环境变量PATH中保存了查找命令时需要遍历的目录。所以
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。查看环境变量 echo $
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
语法 which 【参数】【文件】
参数:
-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息。
示例:
which pwd
which python
alias 起别名
seq
scp命令
du命令
用于显示目录或文件的大小,du会显示指定的目录或文件所占用的磁盘空间。
du 参数 文件(目录)
参数:
-s 显示总数
-h 以K、M、G为单位,可读性强
示例:
du -sh /tmp/
df命令
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法 df(选项)(参数) -h或--human-readable:以可读性较高的方式来显示信息; -k或--kilobytes:指定区块大小为1024字节; -T或--print-type:显示文件系统的类型; --help:显示帮助; --version:显示版本信息。示例
查看系统磁盘设备,默认是KB为单位: df 使用-h选项以KB以上的单位来显示,可读性高: df -h
top命令
chattr命令(加锁、解锁)
chattr +a 文件 给文件上锁,只能添加数据,无法删除文件
chattr -a 上锁的文件 给上锁的文件解锁,可以删除文件
Linux时间同步
Ntp时间服务器????????
由于我们只需要用作客户端更新时间
ntpdate -u ntp.aliyun.com
wget命令(在中断下载网络文件)
wget 参数 下载地址
wget -r -p http://pythonav.cn/xiaobo.jpg(美女图片)
开关机命令
reboot 重启
poweroff 关机