Linux常用命令
http://man.linuxde.net/
Linux常用命令
1.修改基本配置
1.1修改主机名
vi /etc/sysconfig/network
- 1
1.2修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 1
1.3修改ip和主机名的映射
vi /etc/hosts
- 1
1.4关闭防火墙
临时关闭
service iptables stop
service iptables start
永久关闭
chkconfig iptables on
chkconfig iptables off
查看防火墙状态
service iptables status
重启:reboot
[root@hadoop-node01 ~]# service iptables status
iptables:未运行防火墙。
[root@hadoop-node01 ~]#
- 1
- 2
- 3
2.常用快捷键
快捷键 | 说明 |
---|---|
ctrl + c | 停止进程 |
ctrl + l | 清屏 |
ctrl + r | 搜索历史命令 |
ctrl + q | 退出 |
tab键 | 提示 |
3.日常操作命令
命令 | 说明 |
---|---|
pwd | 查看当前目录 |
date | 显示当前系统时间 |
who | 查看当前在线 |
last | 查看最近的登陆历史记录 |
reboot | 重启 |
halt | 关机 |
4.文件操作命令
4.1基本命令
cd:切换目录
cd命令 | 说明 |
---|---|
cd | 进入用户主目录; |
cd ~ | 进入用户主目录; |
cd - | 返回进入此目录之前所在的目录; |
cd .. | 返回上级目录(若当前目录为“/“,则执行完后还在“/";"…"为上级目录的意思); |
cd ../.. | 返回上两级目录; |
cd !$ | 把上个命令的参数作为cd参数使用。 |
cd /etc/sysconfig | /开头表示绝对路径 |
cd sysconfig/network-script | 不带/表示从当前目录下跳转 |
ls:显示文件夹下的所有文件
参数 | 说明 |
---|---|
-a | 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出); |
-A | 显示除影藏文件“.”和“…”以外的所有文件列表; |
-C | 多列显示输出结果。这是默认选项; |
-l | 与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列; |
-F | 在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“ |
-b | 将文件中的不可输出的字符以反斜线“”加字符编码的方式输出; |
-c | 与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间; |
-d | 仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表; |
-f | 此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果; |
-i | 显示文件索引节点号(inode)。一个索引节点代表一个文件; |
–file-type | 与“-F”选项的功能相同,但是不显示“*”; |
-k | 以KB(千字节)为单位显示文件大小; |
-l | 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; |
-m | 用“,”号区隔每个文件和目录的名称; |
-n | 以用户识别码和群组识别码替代其名称; |
-r | 以文件名反序排列并输出目录内容列表; |
-s | 显示文件和目录的大小,以区块为单位; |
-t | 用文件和目录的更改时间排序; |
-L | 如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理; |
–full-time | 列出完整的日期与时间; |
–color[=WHEN] | 使用不同的颜色高亮显示不同类型的。 |
ll:命令
实际上是ls -l的一个别名
[root@hadoop-node01 ~]# ll
总用量 2036
drwxr-xr-x. 3 root root 4096 2月 25 00:21 app
-rw-r--r--. 1 root root 106609 2月 24 23:44 a.txt
drwxrwxr-x. 6 root root 4096 12月 12 20:25 redis-5.0.3
-rw-r--r--. 1 root root 1959445 12月 12 20:26 redis-5.0.3.tar.gz
drwxr-xr-x. 2 root root 4096 1月 7 23:09 shellfile
- 1
- 2
- 3
- 4
- 5
- 6
- 7
tree命令:
以树形结构展示文件夹及文件,比较直观(如果没有安装:yum install -y tree)
4.2文件夹命令
mkdir
创建文件夹
创建方式 | 命令 |
---|---|
相对路径创建 | mkdir test |
绝对路径窗口 | mkdir /root/test1 |
创建多级文件夹 | mkdir -p test2/test3/test4 -p 如果父目录不存在也会一并的创建 |
rmdir
只能删除空目录
rm
命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉
参数 | 说明 |
---|---|
-d | 直接把欲删除的目录的硬连接数据删除成0,删除该目录; |
-f | 强制删除文件或目录; |
-i | 删除已有文件或目录之前先询问用户; |
-r或-R | 递归处理,将指定目录下的所有文件与子目录一并处理; |
–preserve-root | 不对根目录进行递归操作; |
-v | 显示指令的详细执行过程。 |
mv命令
用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖
操作 | 命令 |
---|---|
修改名称 | mv test1 abc |
移动文件 | mv abc/* cc 将abc文件夹下的所有文件移动到cc文件夹下 |
cp命令
cp a.log /root/
cp – help 查看命名帮助
-R 递归复制
4.3创建文件
touch命令
有两个功能:
一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来创建新的空文件。
echo命令
将信息输出到控制台,
[root@hadoop-node01 ~]# echo hahaha
hahaha
- 1
- 2
我们可以通过重定向符号将内容写入到新的文件中,如果文件不存在就会新建此文件
>:创建新的文件或者覆盖
>>:创建新的文件或者追加
cat命令
- 显示文件内容
- 创建新的文件
只能创建新文件,不能编辑已有文件
cat s1.sh > d.txt - 文件拼接
cat a.txt b.txt > c.txt
tac命令:和cat刚好相反 将内容倒序输出
more命令:分页显示
tail:显示底部的内容
head:显示头部的内容
4.4vi命令
最基本的用法
vi somefile.4
步骤 | 说明 |
---|---|
1 | 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容 |
2 | 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容 |
3 | 编辑完成之后,按Esc键退出编辑模式,回到一般模式; |
4 | 再按:,进入“底行命令模式”,输入wq命令,回车即可 |
退出命令
命令 | 说明 |
---|---|
:w | 保存文件但不退出vi |
:w file | 将修改另外保存到file中,不退出vi |
:w! | 强制保存,不推出vi |
:wq | 保存文件并退出vi |
:wq! | 强制保存文件,并退出vi |
:q | 不保存文件,退出vi |
:q! | 不保存文件,强制退出vi |
:e! | 放弃所有修改,从上次保存文件开始再编辑 |
常用快捷键
在一般模式下使用
快捷键 | 说明 |
---|---|
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定位到上一个) |
4.5vim介绍
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
- 多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。 - 易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。 - 语法加亮
vim可以用不同的颜色来加亮你的代码。 - 可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。 - 对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
5.文件权限命令
5.1格式解析
drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)
字符 | 说明 |
---|---|
d | 标识节点类型(d:文件夹 -:文件 l:链接) |
r | 可读 |
w | 可写 |
x | 可执行 |
组 | 说明 |
---|---|
第一组rwx | 表示这个文件的拥有者对它的权限:可读可写可执行 |
第二组r-x | 表示这个文件的所属组对它的权限:可读,不可写,可执行 |
第三组r-x | 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行 |
drwx r-x r-x
1 1 1 1 1 0 1 1 0 1
_ _ _ _ |_ _ _ |_ _ _
5.2修改文件权限
修改 | 说明 |
---|---|
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/
6.用户管理
6.1创建新用户
添加用户:
useradd hadoop
设置密码
passwd hadoop
[root@hadoop-node01 shellfile]# useradd test
[root@hadoop-node01 shellfile]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@hadoop-node01 shellfile]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
sudo设置
普通用户权限有限制,通过sudo暂时获取root权限.
为用户配置sudo权限
用root编辑 vi /etc/sudoers
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
然后,hadoop用户就可以用sudo来执行系统级别的指令
:wq! 强制保存并退出
7.查找命令
7.1grep命令
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户,grep是查找匹配条件的行
参考: http://man.linuxde.net/grep
a.txt中的内容
aaabbcaaa
aa bbc aaa
bb bbc bbb
asgodssgoodsssagodssgood
asgodssgoodsssagoodssgod
sdlkjflskdjf3slkdjfdksl
slkdjf2lskdjfkldsjl
grep "a" test
grep "a\{3\}" test
grep "\<aaa" test
grep "\<aaa\>" test
grep "b" test
grep "b\{2,3\}" test
clear
cat test
grep "god" test
grep "godgood" test
grep "god*good" test
grep "god.*good" test
grep "god.*good.*god.*good" test
grep "god.*good+" test
grep "\(god.*good\)+" test
grep "\(god\).*good.*\1" test
grep "\(god\).*\(good\).*\1.*\2" test
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
7.2find命令
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
功能:在目录结构中搜索文件,并执行指定的操作。
此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
find是搜索匹配条件的文件(http://man.linuxde.net/find)
查找当前目录下所有的gz结尾的文件
find . -name “*gz”
[root@hadoop-node01 ~]# find . -name "*gz"
./app/zookeeper-3.4.10.tar.gz
./redis-5.0.3.tar.gz
- 1
- 2
- 3
8.打包和压缩
8.1压缩和解压缩
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
压缩
gzip a.txt
解压gz文件
gzip -d a.txt.gz
8.2tar打包解压
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
tar -cvf log.tar log2012.log 仅打包,不压缩!
tar -xvf myfirsttarball.tar 拆包
8.3一次性打包&&压缩
产生压缩包
tar -zcvf my.tar.gz aaa/
- 1
解压缩包
tar -zxvf my.tar.gz
- 1
递归解压缩到其他目录
tar -zxvf my.tar.gz -C abc/
- 1
9.文件传输
9.1上传
yum install lrzsz -y
- 1
安装成功后
rz 命令根据弹出窗口选择上传文件
或者将文件拖拽进去
9.2下载
sz命令 文件下载
10.进程命令
命令 | 说明 |
---|---|
last或 lastlog | 查看用户最近登录情况 |
df | 查看硬盘使用情况 |
du | 查看文件大小 |
free | 查看内存使用情况 |
/proc | 查看文件系统比如: ll /proc |
ls /var/log/ | 查看日志 |
tail /var/log/messages | 查看系统报错日志 |
top | 查看进程 |
kill 1234 kill -9 4333 |
结束进程 |
后台服务管理
- 服务操作
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
service --status-all 查看系统中所有的后台服务 - 设置后台服务的自启配置
chkconfig 查看所有服务器自启配置
chkconfig iptables off 关掉指定服务的自动启动
chkconfig iptables on 开启指定服务的自动启动
最后
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的
目录 | 说明 |
---|---|
/usr | 系统级的目录,可以理解为C:/Windows/, |
/usr/lib | 理解为C:/Windows/System32。 |
/usr/local | 用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。 |
/opt | 用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 |
源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。
文章来源: dpb-bobokaoya-sm.blog.csdn.net,作者:波波烤鸭,版权归原作者所有,如需转载,请联系作者。
原文链接:dpb-bobokaoya-sm.blog.csdn.net/article/details/88411849
- 点赞
- 收藏
- 关注作者
评论(0)