Linux基本操作

@TOC

Linux基本操作

一、基础指令(重点)
1、ls指令
含义:ls (list)
用法1:#ls
含义:列出当前工作目录下的所有文件/文件夹的名称

用法2:#ls 路径
含义:列出指定路径下的所有文件/文件夹的名称
关于路径(重要):
路径可以分为两种:相对路径、绝对路径。
相对路径:相对首先得有一个参照物(一般就是当前的工作路径);
相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“…/”【上一级目录下】。
如:#ls /root
绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径;

用法3:#ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
常见的语法:
#ls -l 路径
#ls -la 路径
选项解释:
-l:表示list,表示以详细列表的形式进行展示
-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹,在Linux中隐藏文档一般都是以“.”开头。)
Sample:#ls -l /root
#ls -la /root

用法4:#ls -lh 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示

2、pwd指令
用法:#pwd (print working directory,打印当前工作目录)

3、cd指令
命令:#cd (change directory,改变目录)
作用:用于切换当前的工作目录的
语法:#cd 路径

案例:当前在“/”下,需要使用绝对路径切换到/usr/local。
cd /usr/local
案例:当前在/usr/local下,需要使用相对路径切换目录到home目录下的Linux123用户家目录中去。
cd …/…/home/Linux123
补充:
在Linux中有一个特殊的符号“~”,表示当前用户的家目录。
切换的方式:#cd ~

4、mkdir指令
指令:mkdir (make directory,创建目录)
语法1:#mkdir 路径 【路径,可以是文件夹名称也可以是包含名称的一个完整路径】

案例:在当前路径下创建出目录“yunweihenniux”
#mkdir yunweihenniux

注意:ls列出的结果颜色说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限。

案例:在指定路径下创建出一个文件夹“yunweihenniux”
#mkdir /root/yunweihenniux

语法2:#mkdir -p 路径
含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错
#mkdir -p /root/yunweihenniux/a/b/c/d

语法3:#mkdir 路径1 路径2 路径3 …. 【表示一次性创建多个目录】
#mkdir a b c

5、touch指令
指令:touch
作用:创建文件
语法:#touch 文件路径 【路径可以是直接的文件名也可以是路径】

案例:使用touch来在当前路径下创建一个文件,命名为Linux.txt
#touch Linux.txt
案例:使用touch来同时创建多个文件
#touch Linux1.txt Linux2.txt
案例:使用touch来在“Linux123”用户的家目录中创建文件,Linux.txt
#touch /home/Linux123/Linux.txt

6、cp指令
指令:cp (copy,复制)
作用:复制文件/文件夹到指定的位置
语法:#cp 被复制的文档路径 文档被复制到的路径

案例:使用cp命令来复制一个文件
#cp Linux1.txt /home/Linux123/Linux1.txt

注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。

案例:使用cp命令来复制一个文件夹
注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略
#cp -r ./yunweihenniux /home/Linux123/yunweihenniux
#cp -r yunweihenniux /soft/yunweihenniux

7、mv指令
指令:mv (move,移动,剪切)
作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
案例:使用mv命令移动一个文件
#mv Linux1.txt /Linux1.txt

案例:使用mv命令移动一个文件夹
#mv /home/Linux123/yunweihenniux/ /
补充:在Linux中重命名的命令也是mv,语法和移动语法一样。
#mv /yunweihenniu /henniux

8、rm指令
指令:rm (remove,移除、删除)
作用:移除/删除文档
语法:#rm 选项 需要移除的文档路径
选项:
-f:force,强制删除,不提示是否删除
-r:表示递归

案例:删除一个文件
#rm /新文件
在删除的时候如果不带选项,会提示是否删除,如果需要确认则输入“y/yes”,否则输入“n/no”按下回车。
注意:如果在删除的时候不想频繁的确认,则可以在指令中添加选项“-f”,表示force(强制)。
#rm -f /Linux1.txt
案例:删除一个文件夹
#rm -r /henniux
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项。
#rm -r /henniux
案例:删除多个文档
#rm -rf Linux.txt a b
案例:要删除一个目录下有公共特性的文档,例如都以Linux开头
#rm -f Linux*

9、vim(或者vi)指令(若vim没有安装)
指令:vim (vim是一款文本编辑器)
语法:#vim 文件的路径
作用:打开一个文件(可以不存在,也可以存在)
案例:使用vim来打开文件
退出打开的文件:按ESC键,然后:q! --不保存强制退出
:wq --保存退出

10、输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。

 >:覆盖输出,会覆盖掉原先的文件内容
 >>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

语法:#正常执行的指令 > / >> 文件的路径
注意:文件可以不存在,不存在则新建
案例:使用覆盖重定向,保存ls -la 的执行结果,保存到当前目录下的ls.txt
ls -la > ls.txt
案例:使用追加重定向,保存ls -la的执行结果到ls.txt中
ls -la >> ls.txt

11、cat指令
作用1:cat有直接打开一个文件的功能。
语法1:#cat 文件的路径
作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
例如,合并3个文件,并存到一个文件中【配合输出重定向使用】
#cat /home/Linux123/Linux1.txt /home/Linux123/Linux2.txt /home/Linux123/Linux3.txt > hebing.txt

二、进阶指令(重点)
1、df指令
作用:查看磁盘的空间
语法:#df -h -h表示以可读性较高的形式展示大小

2、free指令
作用:查看内存使用情况
语法:#free -m -m表示以mb为单位查看

3、head指令
作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。
语法:#head -n 文件路径 【n表示数字】
#head -5 install.log

4、tail指令
作用1:查看一个文件的未n行,如果n不指定默认显示后10行
语法:#tail -n 文件的路径 n同样表示数字
#tail -1 install.log
作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】
语法:#tail -f 文件路径
该命令一般用于查看系统的日志比较多。

5、less指令
作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多
语法:#less 需要查看的文件路径
在退出的只需要按下q键即可。

6、wc指令
作用:统计文件内容信息(包含行数、单词数、字节数)
语法:#wc -lwc 需要统计的文件路径
-l:表示lines,行数
-w:表示words,单词数 依照空格来判断单词数量
-c:表示bytes,字节数
#wc install.log等同于
#wc -l install.log加上
#wc -w install.log加上
#wc -c install.log三个的效果
Sample:#wc -lwc /etc/passwd

7、date指令(重点)
作用:表示操作时间日期(读取、设置)
语法1:#date 输出的形式:2018年 3月 24日 星期六 15:54:28

语法2:#date +%F (等价于#date “+%Y-%m-%d” )输出形式:2018-03-24

语法3:#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体,等价操作#date “+%Y-%m-%d %H:%M:%S”
输出的形式:2018-03-24 16:01:00

语法4:获取之前或者之后的某个时间(备份)
#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”

符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)

8、cal指令
作用:用来操作日历的
语法1:#cal 等价于 #cal -1 直接输出当前月份的日历
语法2:#cal -3 表示输出上一个月+本月+下个月的日历
语法3:#cal -y 年份 表示输出某一个年份的日历

9、clear/ctrl + L指令
作用:清除终端中已经存在的命令和结果(信息)。
语法:clear 或者快捷键:ctrl + L

需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。

10、管道(重要)
管道符:|
作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。

①过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。
#ls / | grep y
针对上面这个命令说明:
①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;

②grep指令:主要用于过滤

②特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
之前通过less查看一个文件,可以#less 路径
现在通过管道还可以这么:#cat 路径|less

③扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数?
答:#ls / | wc -l

三、高级指令
1、hostname指令
作用:操作服务器的主机名(读取、设置)
语法1:#hostname 含义:表示输出完整的主机名
语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)
语法3:#hostname 新的主机名 含义:修改主机名(临时的,重启系统后会恢复之前的主机名)

2、id指令
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
语法1:#id 默认显示当前执行该命令的用户的基本信息
语法2:#id 用户名 显示指定用户的基本信息

验证上述信息是否正确?
验证用户信息:通过文件/etc/passwd
验证用户组信息:通过文件/etc/group
#cat /etc/passwd

3、whoami指令
作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
语法:#whoami

4、ps -ef指令(重点)
指令:ps
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)
#ps -ef
列的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;

案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态
#ps -ef|grep “进程名称”
#ps -ef | grep gnome-panel
再例如查看火狐浏览器的进程:
#ps -ef | grep firefox

5、top指令(重点)
作用:查看服务器的进程占的资源(100%使用)
语法:
进入命令:#top (动态显示)
退出命令:按下q键
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;

在运行top的时候,可以按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列;
P:表示将结果按照CPU使用率从高到低进行降序排列;
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;

6、du -sh指令
作用:查看目录的真实大小
语法:#du -sh 目录路径
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以高可读性的形式进行显示
案例:统计“/root/yunweihenniux”目录的实际大小
#du -sh /root/yunweihenniux

7、find指令
作用:用于查找文件(其参数有55个之多)
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹

案例:使用find来搜索httpd.conf
#find / -name httpd.conf
案例:搜索etc目录下所有的conf后缀文件
#find /etc -name *.conf
案例:使用find来搜索/etc/sane.d/目录下所有的文件
#find /etc/sane.d/ -type f
案例:使用find来搜索/etc/目录下所有的文件夹
#find /etc -type d

8、service指令(重点)
作用:用于控制一些软件的服务启动/停止/重启
语法:#service 服务名 start/stop/restart

例如:需要启动本机安装的Apache(网站服务器软件),其服务名httpd
#service httpd start

通过ps命令来检查httpd服务是否启动:
#ps -ef | grep httpd

9、kill指令(重点)
作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程PID (语法需要配合ps一起使用)
案例:需要kill掉Apache的进程
与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法:#killall 进程名称

10、ifconfig指令(重点)
作用:用于操作网卡相关的指令。
简单语法:#ifconfig (获取网卡信息)
在这里插入图片描述
Eth0表示Linux中的一个网卡,eth0是其名称。Lo(loop,本地回还网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。
注意:inet addr就是网卡的ip地址。

11、reboot指令
作用:重新启动计算机
语法1:#reboot 重启
语法2:#reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)

12、shutdown指令
作用:关机 (慎用)
语法1:#shutdown -h now “关机提示” 或者 #shutdown -h 15:25 “关机提示”
案例:设置Linux系统关机时间在12:00

13、uptime指令
作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法:#uptime

14、uname指令
作用:获取计算机操作系统相关信息
语法1:#uname 获取操作系统的类型
语法2:#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

16、man指令
作用:manual,手册(包含了Linux中全部命令手册,英文)
语法:#man 命令 (退出按下q键)
案例:通过man命令查询cp指令的用法
#man cp

练习题
1、如何通过命令行重启linux操作系统? #reboot
2、如何在命令行中快速删除光标前/后的内容? 前:ctrl + u 后:ctrl + k
3、如何删除/tmp下所有A开头的文件? #rm -f /tmp/A*
4、系统重要文件需要备份,如何把/etc/passwd备份到/tmp目录下?
#cp /etc/passwd /tmp/
5、如何查看系统最后创建的3个用户?
#tail -3 /etc/passwd
6、什么命令可以统计当前系统中一共有多少账户?
#wc -l /etc/passwd #cat /etc/passwd|wc -l
7、如何创建/tmp/test.conf文件?
#touch /tmp/test.conf
8、如何通过vim编辑打开/tmp/test.conf?
#vim /tmp/test.conf
9、如何查看/etc/passwd的头3行和尾3行?
#head -3 /etc/passwd
#tail -3 /etc/passwd
10、如何一次性创建目录/text/1/2/3/4?
#mkdir -p /text/1/2/3/4
11、如何最快的返回到当前账户的家目录?
#cd ~ #cd
12、如何查看/etc所占的磁盘空间?
#du -sh /etc
13、如何删除/tmp下所有的文件?
#rm -rf /tmp/*
14、尝试启动Apache的服务,并且检查是否启动成功。
#service httpd start
#ps -ef|grep httpd
15、使用已学命令杀死Apache的进程。
#killall httpd

四、关于vim
命令模式
注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)
1、光标移动
①光标移动到行首
按键:shift + 6 或 ^(T字母上面的6,不要按小键盘的6)

②光标移动到行尾
按键:shift + 4 或 $(R字母的左上角的4,不是小键盘的4)

③光标移动到首行
按键:gg

④光标移动到末行
按键:G

⑤翻屏
向上翻屏:按键ctrl + b (before) 或 PgUp
向下翻屏:按键ctrl + f (after) 或 PgDn
2、复制操作
①复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键

②以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字yy

③可视化复制
按键:ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓←→方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴
3、剪切/删除
①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。

②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd (删除之后下一行上移)

③剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)

④可视化删除
按键:ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,d表示删选中块

4、撤销/恢复
撤销:输入:u (不属于命令模式) 或者 u (undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作

5、扩展1:光标的快速移动
①快速将光标移动到指定的行
按键:数字G

②以当前光标为准向上/向下移动n行
按键:数字↑,数字↓

③以当前光标为准向左/向右移动n字符
按键:数字←,数字→

④末行模式下的快速移动方式:移动到指定的行
按键:输入英文“:”,其后输入行数数字,按下回车

模式间的切换(重点)

在这里插入图片描述

末行模式

进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入
退出方式:
a. 按下esc
b. 连按2次esc键
c. 删除末行全部输入字符

①保存操作(write)
输入:“:w” 保存文件
输入:“:w 路径” 另存为
②退出(quit)
输入:“:q” 退出文件
③保存并退出
输入:“:wq” 保存并且退出
④强制 (!)
输入:“:q!” 表示强制退出,刚才做的修改操作不做保存
⑤调用外部命令(了解)
输入:“:!外部命令”
例如:
:ls -la
⑥搜索/查找
输入:“/关键词”
例如:我想在passwd文件中搜索“sbin”关键词

在搜索结果中切换上/下一个结果:N/n (next)
如果需要取消高亮,则需要输入:“:nohl”【no highlight】

⑦替换
😒/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
😒/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容

%表示整个文件
g表示全局(global)

⑧显示行号(临时)
输入:“:set nu”[number]
如果想取消显示,则输入:“:set nonu”

⑨扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件名称:“:files”
在%a的位置有2种显示可能
%a:a=active,表示当前正在打开的文件;
#:表示上一个打开的文件
切换文件的方式:
a. 如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”
b. 可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn”切换到下一个文件(back next)
输入:“:bp”切换到上一个文件(back prev)

编辑模式
在这里插入图片描述

重点看前2个进入方式:i(insert)、a(after)。
退出方式:按下esc键

实用功能
1、代码着色
如何控制着色显示与否?
显示:“:syntax on”
关闭显示:“:syntax off”

2、vim中计算器的使用
当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要用计算器,但是需要退出,vim自身集成了一个简易的计算器。
a. 进入编辑模式
b. 按下按键“ctrl + R”,然后输入“=”,此时光标会变到最后一行
c. 输入需要计算的内容,按下回车

扩展
1、vim的配置(重点)
Vim是一款编辑器,编辑器也是有配置文件的。
Vim配置有三种情况:
a. 在文件打开的时候在末行模式下输入的配置(临时的)
b. 个人配置文件(~/.vimrc,如果没有可以自行新建)
c. 全局配置文件(vim自带,/etc/vimrc)
①新建好个人配置文件之后进入编辑
②在配置文件中进行配置
比如显示行号:set nu
配置好之后vim打开文件就会永远显示行号
问题:如果某个配置项,在个人配置文件与全局配置文件产生冲突的时候应该以谁为准?
测试步骤:在两个配置文件中针对同一个配置项设置不同的值
①先在全局的配置中设置不显示行号,在个人的配置文件中设置显示行号,观察结果
最后显示行号:说明以个人为准
②先在全局中配置显示行号,在个人中设置不显示行号,观察结果
最后的显示是不显示行号,说明以个人为准
结论:如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准。

2、异常退出
什么是异常退出:在编辑文件之后并没有正常的去wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面的效果,这个情况称之为异常退出:
解决办法:将交换文件(在编程过程中产生的临时文件)删除掉即可
#rm -f .passwd.swp

3、别名机制(实用)
作用:相当于创建一些属于自己的自定义命令

例如:在windows下有cls命令,在Linux下可能因为没有这个命令而不习惯清屏。现在可以通过别名机制来解决这个问题,可以自己创造出cls命令
别名机制依靠一个别名映射文件:~/.bashrc
#vim ~/.bashrc
注意:如果想新创造的命令生效,必须要重新登录当前用户。

4、退出方式
回顾:之前vim中退出编辑的文件可以使用“:q”或者“:wq”。
除了上面的这个语法之外,vim还支持另外一个保存退出方法“:x”。
说明:
①“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;
②如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。

因此建议以后使用“:x”来进行对文件的保存退出。
但是:不要使用X,不要使用X,不要使用X,X表示对文件进行加密操作。

linux的命令操作

1、日常操作命令

**查看当前所在的工作目录pwd

**查看当前系统的时间 date

**查看有谁在线(哪些人登陆到了服务器)

who 查看当前在线

last 查看最近的登陆历史记录

2、文件系统操作

**
ls / 查看根目录下的子节点(文件夹和文件)信息

ls -al -a是显示隐藏文件
-l是以更详细的列表形式显示

**切换目录
cd /home

**创建文件夹
mkdir aaa 这是相对路径的写法

mkdir -p aaa/bbb/ccc
mkdir /data 这是绝对路径的写法

**删除文件夹
rmdir 可以删除空目录

rm -r aaa 可以把aaa整个文件夹及其中的所有子节点全部删除

rm -rf aaa 强制删除aaa

**修改文件夹名称mv aaa angelababy

**创建文件
touch somefile.

1 创建一个空文件
echo “i miss you,my baby” > somefile.

2 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容
echo “huangxiaoming ,gun dan” >> somefile.

3 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容

用vi文本编辑器来编辑生成文件

******最基本用法
vi somefile.

4
1、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容

2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容

3、编辑完成之后,按Esc键退出编辑模式,回到一般模式;

4、再按:,进入“底行命令模式”,输入wq命令,回车即可

******一些常用快捷键
一些有用的快捷键(在一般模式下使用):

a 在光标后一位开始插入

A 在该行的最后插入

I 在该行的最前面插入

gg 直接跳到文件的首行

G 直接跳到文件的末行

dd 删除行,如果 5dd ,则一次性删除光标后的5行

yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行

p 粘贴

v 进入字符选择模式,选择完成后,按y复制,按p粘贴

ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴

shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴

查找并替换(在底行命令模式中输入)

%s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888
/you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个

*****拷贝文件

cp somefile.1 /home/hadoop/

*****查看文件内容

cat somefile 一次性将文件内容全部输出(控制台)

more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)

less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字
(/keyword)

tail -10 install.log 查看文件尾部的10行

tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
tail
-F install.log 大F按照文件名来跟踪

head -10 install.log 查看文件头部的10行

3、文件权限的操作


linux文件权限的描述格式解读
drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)

d:标识节点类型(d:文件夹 -:文件 l:链接)

r:可读 w:可写 x:可执行

第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行

第二组r-x: 表示这个文件的所属组对它的权限:可读,不可写,可执行

第三组r-x: 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

****修改文件权限

chmod g-rw haha.dat 表示将haha.dat对所属组的rw权限取消

chmod o-rw haha.dat 表示将haha.dat对其他人的rw权限取消

chmod u+x haha.dat 表示将haha.dat对所属用户的权限增加x

也可以用数字的方式来修改权限

chmod 664 haha.dat
就会修改成 rw-rw-r–

如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
chmod -R 770 aaa/
chown angela:angela aaa/ <只有root能执行>

4、基本的用户管理

*****添加用户
useradd angela

要修改密码才能登陆
passwd angela 按提示输入密码即可

**为用户配置sudo权限
用root编辑 vi /etc/sudoers
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL

然后,hadoop用户就可以用sudo来执行系统级别的指令
[hadoop@shizhan ~]$ sudo useradd huangxiaoming

5、系统管理操作

*****查看主机名
hostname

****修改主机名(重启后无效)
hostname hadoop

*****修改主机名(重启后永久生效)
vi /ect/sysconfig/network

****修改IP(重启后无效)
ifconfig eth0 192.168.12.22

****修改IP(重启后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0

mount
**** 挂载外部存储设备到文件系统中
mkdir /mnt/cdrom 创建一个目录,用来挂载

mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中

*****umount
umount /mnt/cdrom

*****统计文件或文件夹的大小
du -sh /mnt/cdrom/Packages
df -h 查看磁盘的空间

****关机
halt

****重启
reboot

******配置主机之间的免密ssh登陆

假如 A 要登陆 B

在A上操作:
%%首先生成密钥对
ssh-keygen
(提示时,直接回车即可)
%%再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中
ssh-copy-id B

******后台服务管理

service network status 查看指定服务的状态

service network stop 停止指定服务

service network start 启动指定服务

service network restart 重启指定服务

service --status-all 查看系统中所有的后台服务

设置后台服务的自启配置,如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
查看所有服务器自启配置
chkconfig
iptables off 关掉指定服务的自动启动

iptables on 开启指定服务的自动启动

*****系统启动级别管理

vi /etc/inittab

Default runlevel. The runlevels used are:

0 - halt (Do NOT set initdefault to this)

1 - Single user mode

2 - Multiuser, without NFS (The same as 3, if you do not have networking)

3 - Full multiuser mode

4 - unused

5 - X11

6 - reboot (Do NOT set initdefault to this)

id:3:initdefault:

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值