您的位置:首页 > 运维架构 > Linux

linux命令行总结(入门)

2017-12-08 18:02 316 查看
文件和目录列表
ls -F :显示文件和目录
ls -FR:递归展示目录好子目录里的内容
ls -l myFile:只展示myFile文件相关内容,?表示一个字符,*代表0或者多个字符
ls -l my_scr[ai]pt :可能出现字母a或者i的
ls -l f[a-i]ll :可能出现字母为a-i的文件
处理文件:
cp source destination :复制文件到目的地
cp -i source destination:如果文件已经存在,则提示是否覆盖
cp -i source . :将文件复制到当前目录
cp -R Script/ Mod_Scripts :递归复制目录下所有文件
cp *script Mod_Scripts/ :将所有以script结尾的文件复制到Mod_Scripts目录中。
mv fall fzll :重命名文件和移动文件。
tree Small_Dir :以树的形式展示文件中的内容
file fileName:查看文件的类型
cat -n test1 :加上行号查看
cat -b test1:只给有内容的行加行号
more命令可以通过空格键或者是回车键来逐行向前的方式浏览文本文件,最后按q键退出。
less和more类似,且更强大。
tail -n 2 log_file:值展示最后两行,-f参数是tail命令的一个突出特性。实时监测系统日志的绝妙方式。
head -t log_file:查看文件的头5行
默认ps命令只会显示运行在当前控制台下的属于当前用户的进程。 
ps -ef :查看系统上允运行的所有进程
ps -l 参数之后多出的列:
F:内核分配给进程的系统标记
S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)
PRI:进程的优先级
ADDR:进程的内存地址
SZ:假如进程被换出,所需交换空间的大致大小。
top命令实时显示进程信息。
df命令可以让你很方便地查看所有已挂载的磁盘的使用情况。后面跟着-h命令增加可读性
du命令可以显示某个特定目录的磁盘使用情况。这一方法可以用于判断系统上某一目录是否有超大文件。
下面是du命令可用的几个参数:
-c:显示所有已列出的文件总的大小
-h:按用户易读的格式输出大小
-s:显示每个输出参数的总计
处理数据文件
sort命令会按照指定的默认语言的排序规则对文本文件中的数据排序。
sort file;
sort -n file:把数字设别成数字来排序
sort -M file3:按月排序
sort -m 将两个已排序文件合并
sort -o 将排序结果写出到指定的文件中
sort -t 指定一个用来区分键位置的字符
sort -k 排序从post1位置开始,如果指定post2的话,到post2结束。
如果要对密码文件中的用户ID来进行数值排序:sort -t ‘:’ -k 3 -n /etc/passwd
搜索数据
grep命令行格式:grep [options] pattern [file] 
grep的输出就是包含了匹配模式的行。
grep three file1 :在file1文件中找three文本
如果要进行反向搜索(输出不匹配该模式的行),可加-v参数。 
grep -v t file1
如果要显示匹配模式的行所在的行号,可加-n参数。 
grep -n t file1
如果只要知道有多少行含有匹配的模式,可用-c参数。 
grep -c t file1
如果要指定多个匹配模式,可用-e参数来指定每个模式。 
grep -e t -e f file1:输出含有t或者是f的所有行
压缩数据
gzip命令会压缩你在命令行指定的文件。也可以在命令行指定多个文件名甚至用通配符来一次性批量压缩文件。 
gzip myprog /gzip my*
归档数据:
tar function [options] object1 object2 ... 
参数功能:
-A :将一个已有的tar归档文件追加到另一个tar归档文件中
-c: 创建一个新的tar归档文件
-d:检查归档文件和文件系统的不同之处
-t:列出已有tar归档文档文件的内容
-f:输出结果到文件或者设备
-v:在处理文件时显示文件
-z:将输出重定向给gzip命令来压缩内容
-x:从已有tar归档文件中提取文件
创建一个归档文件:
tar -cvf test.tar test/ test2/
上面的命令创建了名为test.tar的归档文件,含有test和test2目录内容。接着,用下列命令: 
tar -tf test.tar 
列出tar文件test.tar的内容(但并不提取文件)。最后,用命令: 
tar -xvf test.tar 
通过这一命令从tar文件test.tar中提取内容。如果tar文件是从一个目录结构创建的,那整个目
录结构都会在当前目录下重新创建。 
对于下载的以.tgz结尾的文件,都是gzip压缩过的tar文件,可以用命令tar -zxvf filename.tgz来解压。
你可以在一行中执行多个命令:pwd;ls;cd /etc;pwd;
命令列表要想成为进程列表则必须包含在括号内(pwd;ls;cd /etc;pwd)
可以通过命令查看是否生成了子shell:echo $BASH_SUBSHELL,如果显示的是0则没有,大于0的数则生成了子shell.
进程列表是运行在子shell中的一条或者多条命令。通过在命令后加&来设置为后台运行
协程可以同时做两件事。它在后台生成一个子shell并在这个子shell中执行命令。
要进行协程处理需要使用coproc命令,还要在子shell中执行的命令。
内建命令和外部命令的区别是不需要使用子进程来执行。
history命令展示最近用过的命令。
查看全局变量,可以使用env 或者printenv命令
set命令查看全部命令包括全局变量,局部环境变量和用户定义变量
通过export命令来设置全局环境变量。
通过unset命令来删除环境变量。
如果要用到变量则使用$,如果要操作变量则不使用$,但是printenv命令除外。
当你登录linux系统时,bash shell会作为登录shell启动。登录shell会从5个不同的启动文件里读取命令:
/etc/profile:默认的主启动文件,只要你登录,就会执行文件中的命令。
$HOME/.bash_profile
$HOME/.bashrc
$HOME/.bash_login
$HOME/.profile
shell 会按照如下的顺序,运行第一个被找到的文件,余下的则忽略:
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
如果bash是作为交互式shell启动的,它就不会访问/etc/profile文件,只会检查HOME目录下的.bashrc文件。(不是登录的shell)
非交互式shell是指系统执行shell脚本时用的就是这种shell。环境变量来自BASH_ENV。
使用编辑器
vim 编辑器
h:左移一个字符
j:下移一行
k:上移一行
l:右移一个字符
G:移动到缓存的最后一行
num G:移动到缓存的弟num行
gg:移动到缓存的第一行
ctl+F下翻一屏
ctl+B上翻一屏
q:如果未修改,退出
q!:取消所有对缓存区的修改并退出
w filename:将文件保存到另一个文件中。
wq:将缓存数据保存到文件中并退出
x:删除当前光标所在位置的字符
dd:删除当前光标所在的行
dw:删除当前光标所在行的单词
d$:删除当前光标所在位置至行尾的内容
J:删除当前光标所在行行尾的换行符(拼接行)
u:撤销前一编辑命令
a:在当前光标后追加数据
A:在当前光标所在行的行尾加数据
r char:用char替换当前光标所在位置的单个字符
R text:用text覆盖当前光标所在位置的数据,直到按下ESC键
有些编辑命令允许使用数字修饰符来指定重复该命令多少次。
p:命令可以用于粘贴
yw:复制一个单词
y$:复制到行尾。
可视模式会在你移动光标时高亮显示文本。按下v键进入,移动光标来选择要复制的数据。按y键来激活复制命令。
通过斜线来查找你要找的字符串。出现斜线后输入你要查找的文本,按下回车,vim会采用以下回应中的一种:
1)如果查找的文本出现在光标当前位置之后,则光标会跳到该文本出现的第一个位置
2)如果要查找的文本未出现在光标当前位置之后,则光标会绕过文件末尾,出现在该文本所在的第一个位置。(并用一条信息指明)
3)输出一条错误信息,说明在文件中没有找到要查找的文本。
要继续查找下一个单词,可以通过按下斜线,然后按下回车或者是使用n键。
替换命令允许你快速替换,必须进入命令模式:
:s/old/new,替换一次
:s/old/new/g 一行命令替换所有的old
:n,ms/old/new/g 替换行号n和m之间的old
:%s/old/new/g 替换整个文件中的所有old
:%s/old/new/gc 替换整个文件中的所有old,但是每次出现时提示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令行 学习