从虚拟机切换到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服务时用