(二)linux基本命令(重点掌握)

从虚拟机切换到windows: CTRL+ALT

 命令行切换到图形界面: startx(windows开始按钮+x)


linux系统的根目录(最顶层目录):/

该目录下有:boot bin etc dev lib  root home等目录,按各自特定含义进行使用


登陆linux系统后,当前所在目录即登陆用户所在的宿主目录

比如,以root身份登陆,使用pwd命令可以查看当前所在目录

[root@localhost ~] #  ls (列出当前目录下的文件)

anaconda-ks.cfg  Desktop   install.log   install.log.syslog

[root@localhost ~] #  pwd (查看当前所在目录)

/root

--------------------------------------------------------------------------------

cd .  当前目录,写相对路径时很有用

cd..  返回上一级目录

cd /  进入最顶层目录

cd ~ 进入用户目录(以root身份登陆,则进入root的宿主目录)

pwd  查看当前所在目录的绝对路径

ls   查看当前目录下的子目录和文件

mkdir 创建目录

----------------------------------------------------------------------------------------------------------------------------------------------

每个命令的详细使用参数,使用帮助进行详细解读

man ls 查看ls的帮助信息

ls --help  将列出ls命令可以使用的参数

ls

参数:

l 以列表方式列出文件,显示权限、大小、创建时间等

a 显示所有子目录与文件,包括隐藏目录

ls -ltc      按最后修改时间以列表方式进行降序排序(从最新修改时间开始) 

ls -l /etc  以列表方式列出指定目录下的目录和文件

 

mkdir

创建一个目录   mkdir temp

 

touch

创建一个文件 touch a.txt

rm

     -r 递归recursion   -f 强制force,不进行提示

删除目录或文件 

rm a.txt 会提示是否确认删除

rm -rf     强制递归删除目录及其下所有文件(常用) 

 

cp

复制

-r  递归

cp   temp/first/a.txt  ./     拷贝a.txt到当前目录

cp   -r temp/first  ./         拷贝first整个文件夹到当前目录下(必须加-r参数,递归),可用于备份文件

/bin/cp -rf temp/first ./    拷贝文件夹,不带提示信息进行强制覆盖(cp 命令默认会加-i参数,进行提示,可以直接运行/bin目录中最原始的cp命令,从而实现无提示的覆盖

 

mv

移动(剪切再粘贴)、重命名

mv temp/first  ./                将first剪切到当前目录

mv first first_new              重命名

mv temp/first  ./first_new  将first剪切到当前目录,并重命名

 

*

通配符

cp temp/first/* ./         拷贝first下所有文件到当前目录(不包括first目录)

cp temp/first/*.txt  ./   拷贝first下所有txt文件到当前目录(不包括first目录)

cp -rf temp/first ./       拷贝first及其目录下所有内容到当前目录

 

vi

编辑文本

touch test.txt  创建test.txt文本文件

vi test.txt  打开test.txt进行编辑

a   由命令模式进入输入模式(光标右边开始插入新的字符符)

A   由命令模式进入输入模式(光标移动到行末)

i     由命令模式进入输入模式(光标左边开始插入新的字符)

I     由命令模式进入输入模式(光标移动到行首)

o 下方插入空行并转到输入模式(命令模式下)

O 上方插入空行并转到输入模式(命令模式下)

录入文本...

esc 退回到命令模式

:w    保存(write)

:q     退出(quit)

:wq  保存并且退出

:x     保存并且退出

:q!    不保存并且退出

dd    删除一行(命令模式下)

2dd  删除2行

x      删除一个字符(命令模式下)

yy    复制一行

5yy  复制5行(从光标当前位置开始的5行)

p      粘贴

u      撤销

剪切再粘贴(删除->粘贴)  1.dd(删除) 2.p(粘贴)

 

vi     编辑一个不存在的文本

:w new.txt 保存并设置文件名

 

文件之间的复制粘贴

vi a.txt b.txt  (同时打开文件,首先进入a.txt的编辑环境)

yy 复制一行

:next  进入下一个文本

p  粘贴

yy 复制一行

:previous 返回上一个文件

p 粘贴

 

 

 

 

查看文件

 cat

cat  a.txt 不分页查看文件(全部显示)

cat a.txt b.txt > c.txt  合并文件 

 more

分页查看文件(只能往前查看)

more test.txt  默认按百分比分页,空格继续查看

more -5 test.txt  每次显示5行

 

less

支持向前pageup向后pagedown查看文件

head

查看文件最开始多少行内容

head -10 test.txt  查看test.txt前10行

 

tail

tail -10 test.txt     查看test.txt最后10行(查看日志)

 

history

查看历史执行的命令

history 10  查看最近执行的10条命令

 

diff

比较2个文件的不同

diff a.txt b.txt

 

wc

查看文本文件的内容信息

wc -l    test.txt   统计一共多少行

wc -w  test.txt   统计一共多少个单词(以空格区分是否为单词)

wc -c   test.txt   统计一共多少个字符(包括换行符)

      wc  test.txt        统计行,单词,字符

 

 

 查找文件

find

按文件(文件名,大小,日期等)匹配

find  /dev  -name  sda     按名称精确匹配

find  /dev  -name  sda*    模糊匹配

find  /dev  -name  *sda*   模糊匹配

 

grep

按文件内容匹配

-i   不区分大小写匹配

-l   只显示包含匹配内容的文件名

grep linux a.txt   查看a.txt中包含"linux"字符的行

grep linux ./*.txt  查看当前目录下包含"linux"的行,将列出文件名

grep -i linux ./*    查看当前目录下所有文件中包含linux(不区分大小写)的文件

grep -il linux ./*   不区分大小写匹配当前目录下包含linux的所有文件,只列出文件名

注:grep 与 管道组合使用,非常强大!

 

 

 

whereis

whereis cp  查看cp命令所在文件

linux中每个命令都是一个shell命令集,执行命令实际是在执行shell命令,最终由linux执行shell脚本

 

 

重定向

可以把命令的标准输出/错误信息重定向到指定的文件中(如,将控制台信息保存到一个文件中)

ls /dev > ls.out    每次重写文件,表示将ls命令的结果保存到ls.out文件中

ls /dev >> ls.out  追加内容到ls.out文件中,不覆盖原文件

 

错误信息的处理

ls /dev 2>   error.out  将错误信息重写到error.out文件中

ls /dev 2>> error.out  追加错误信息到error.out文件中

 

管道

将前一个命令的输出作为下一个命令的输入,可组合多个命令一起使用,非常灵活

一级,二级,三级,将本次执行后的结果往后传递(层层过滤),从而形成一个管道

通常将前一个命令执行的结果看做一个虚拟的文本,再对这个虚拟的文本继续执行命令

 

ls  -l  /etc  |  more  -2

以列表方式列出/etc目录的文件,以分页方式查看,每次显示2条记录

 

ls  ./  |  wc  -l

ls   ./   列出当前目录下的文件

wc  -l  按行统计行数

组合在一起:统计当前目录下一共有多少个文件

 

dmesg | grep eth0

查看启动项中包含eth0的信息

 

ls -l | grep "^d"

统计当前目录下的目录数 

 

ls  -l | grep "^-" | wc -l

统计当前目录下的文件数

解释:

ls -l   以列表方式列出文件,此时得到一个虚拟文本

"^-"   正则表达式,以'-'开头,即表示文件(linux中 '-' 表示文件,'d'表示目录)

grep "^-" 执行结果即:在虚拟文本中查找以'-'开头的记录,即找出文件

wc -l  表示按行统计

组合在一起的结果:统计出目录下的文件数

 

ls -lR | grep "^-" | wc -l

统计当前目录下所有文件(包括子目录)

【关键:使用ls 的-R参数(recursive递归) 】

 

再次提醒自己:多使用 --help查看命令的参数,熟悉参数的具体用途!

 

 

 进程

ps -ef | grep tomcat       查看tomcat服务的进程号

kill -9 PID                      强制杀进程,重启web服务时用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(linux)