Linux基础加强

1 . 查找命令

1.1 grep

grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

格式:grep [option] pattern [file] 中括号代表可选项

可使用 --help 查看更多参数

使用实例:(上面三个是最常用的三个)
ps -ef | grep sshd 查找指定 ssh 服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身
ps -ef | grep sshd –c 查找指定进程个数

cat a.txt | grep -f b.txt 从文件中读取关键词进行搜索
输出 a.txt 文件中含有从 b.txt 文件中读取出的关键词的内容行
cat a.txt | grep –nf b.txt 从文件中读取关键词进行搜索,显示行号
grep -n ‘linux’ test.txt 从文件中查找关键词,并显示行号
cat test.txt |grep ^u 找出以 u 开头的行内容
cat test.txt |grep ^[^u] 输出非 u 开头的行内容
cat test.txt |grep hat$ 输出以 hat 结尾的行内容
cat test.txt |grep -E “ed|at” 显示包含 ed 或者 at 字符的内容行

1.2 find

find 命令在目录结构中搜索文件,并对搜索结果执行指定的操作。find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。实际参数很多,可使用 —help 查看。
使用实例:
find . -name "*.log" -ls 在当前目录查找以.log 结尾的文件,并显示详细信息。
find /root/ -perm 777 查找/root/目录下权限为 777 的文件
find . -type f -name “*.log” 查找当目录,以.log 结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于 100M 的文件

1.3 locate

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库。之后当寻找时就只需查询这个数据库(/var/lib/locatedb)。Linux 系统自动创建这个数据库,默认每天自动更新一次,所以使用 locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。
如果是精简版 CentOS 系统需要安装 locate 命令yum -y install mlocateupdatedb 命令来创建 locate 命令依赖的数据库updatedb
使用实例:
locate /etc/sh
搜索 etc 目录下所有以 sh 开头的文件
locate pwd
查找和 pwd 相关的所有文件

1.4 whereis

whereis 命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 和下 locate 一样,会从数据库中查找数据,而不是像 find 命令那样,通过遍历硬盘来查找。
使用实例:
whereis ls 将和 ls 文件相关的文件都查找出来
ls: /bin/ls /usr/share/man/man1/ls.1.gz
whereis -m ls 查找 ls 命令说明文档路径
whereis -s ls 查找 ls 源文件

1.5 which

which 命令的作用是在 PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

使用实例:
which pwd 查找 pwd 命令所在路径
/bin/pwd
which java 查找 path 中 java 的路径
/root/apps/jdk1.8.0_65/bin/java
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档,所以,不同的 PATH 配置内容所找到的命令会不一样。

2. su 、sudo

2.1 su

su 用于用户之间的切换。

如果是 root向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密
码验证。

su 在不加任何参数,默认为切换到 root 用户,但没有转到 root 用户根目录下;su 加参数 - ,表示默认切换到 root 用户,并转到 root 用户根目录下。

在这里插入图片描述

su 不足:如果某个用户需要使用 root 权限、则必须要把 root 密码告诉此用户。

退出返回之前的用户:exit

2.2 sudo

在node-1中创建用户 :

useradd hadoop

passwd hadoop

克隆一个连接用来做测试用

sudo 是为所有想使用 root 权限的普通用户设计的。可以让普通用户具有临时使用 root 权限的权利。只需输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers 文件中有配置项、才具有使用 sudo 的权利。

使用 root 用户编辑**/etc/sudoers** 文件,给普通用户授权

命令行输入 visudo,打开/etc/sudoers 文件,加入如下的内容,保存。

在这里插入图片描述

这样普通用户就可以使用 sudo 执行 root 权限的命令了。

在这里插入图片描述

sudo 的工作过程如下:

  1. 当用户执行 sudo 时,系统会主动寻找/etc/sudoers 文件,判断该用户是
    否有执行 sudo 的权限
  2. 确认用户具有可执行 sudo 的权限后,让用户输入用户自己的密码确认
  3. 若密码输入成功,则开始执行 sudo 后续的命令

对三个ALL的解释:

hadoop ALL=(ALL) ALL
第一个 ALL 是指网络中的主机,我们可以指定主机名,这样 hadoop 只可以在此主机上执行后面的命令。第二个括号里的 ALL 是指目标用户,也就是以谁的身份去执行命令。最后一个 ALL 是指命令名了。

例如,我们想让 hadoop 用户在 node-23 主机上以 allen 的身份执行 kill 命令,就这样编写配置文件:hadoop node-23=(allen) /bin/kill

案例:只允许 hadoop 用户以 root 身份在 node-23 上执行 ls 、cat 命令,并且执行时候免输入密码。配置文件中:hadoop node-23=NOPASSWD: /bin/ls, /bin/cat , 执行非 ls 、cat 命令也会禁止而 cat 命令就可以执行。

3. 挂载(mount)命令

**挂载是指将一个设备挂接到一个已存在的目录上。**要访问设备中的文件,通过访问这个挂载目录来访问。一般我们会选择loop命令来挂载镜像文件

命令格式:mount [-t vfstype][-o options] device dir

-t vfstype 指定文件系统的类型。mount 会自动选择正确的类型。
常用类型有:光盘镜像 iso9660、linux 文件网络共享 nfs 等等。
-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
device 要挂接(mount)的设备
dir 设备在系统上的挂接点(mount point)

案例:挂载光驱
mkdir /mnt/cdrom
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/
将设备/dev/cdrom 挂载到 挂载点/mnt/cdrom 中

案例:挂载光盘镜像文件(.iso)

光盘镜像文件一般在/dev目录下ll /dev/即可找到cdrom -> sr0

mkdir /mnt/centos
mount -o loop /dev/cdrom /mnt/centos

将镜像文件装载到mnt下的centos文件下 即可查看该镜像文件

案例:卸载 umount
umount /mnt/cdrom

tips:

mount 挂载命令 可以把一些不可直接访问的设备或者文件挂载到某个文件夹上,通过访问该文件夹访问该设备

  • mount 挂载 类似于windows中装载操作 解压
  • umount 卸载 类似于windows中弹出操作

4. 本地yum源

yum(Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及CentOS 中的 Shell 前端软件包管理器基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 机制的强大之处在于yum 源。yum 源相当是一个目录项,当我们使用 yum机制安装软件时,若需要安装依赖软件,则 yum 机制就会根据在 yum 源中定义好的路径查找依赖软件,并将依赖软件安装好。
yum 源分为网络 yum 源本地 yum 源
yum 源配置文件有两个。一是直接配置在/etc/yum.conf 中,其中包含一些主要的配置信息。另外就是/etc/yum.repos.d/下的 xx.repo 后缀文件, 默认都会被加载进来。

案例:使用 CentOS 镜像创建本地 yum 源
1、挂载 iso 镜像,拷贝所有文件至本地 yum 目录

首先创建一个目录用于挂载yum源

mkdir /root/test

创建一个文件用于存储本地yum源

mkdir -p /mnt/local_yum

挂载镜像文件中的yum源

mount -o loop /dev/cdrom /root/test/

将packages和repodata文件复制到本地的文件中即可

cp -r /root/test/* /mnt/local_yum/

拷贝完成后进入该文件查看cd /etc/yum.repos.d/

对里面的东西进行逻辑删除rename .repo .repo.bak *.repo

tips: 遇到不需要的文件常常选择逻辑删除 , 即修改后缀名即可

拷贝一个作为修改的cp CentOS-Base.repo.bak CentOS-Local.repo

修改其中的名字以及权限问题

[local_yum]
name=This is a local repo
baseurl=file:///mnt/local_yum
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3、更新 yum 配置
yum clean all # 清空之前复制文件中的yum源
yum repolist all # 查看本地yum源

通过上面的步骤操作,已经可以使用本地 yum 源了。有需要进行安装的软件包就可以直接运行”yum install xxx“进行安装了。
还可以参考附件资料,使用 DVD1 和 DVD2 镜像共同制作本地 yum 源。

弊端 : 无法自动更新 , 需要自己去更新

tips:

  • yum源具备两个因素

    • 要有大量的rpm包
    • 还有包之间的依赖

    制作本地源也需要上述两个因素存在。

    在每个版本的Centos镜像中:

    ​ Packages ---->提供了大多数rpm包

    ​ repodata ---->提供了包之间的依赖关系

  • 使用centos镜像制作本地yum源,最大缺点在于rpm包不可更新性,仅适用于救急场合。

5 . 系统服务管理

service --status-all# 查看系统所有的后台服务进程
service sshd status # 查看指定的后台服务进程的状态
service sshd stop
service sshd start
service sshd restart
配置后台服务进程的开机自启(永久性的)
chkconfig httpd on ## 让 httpd 服务开机自启
chkconfig httpd off ## 让 httpd 服务开机不要自启

chkconfig iptables --list 查看防火墙关闭状态列表

6. 网络管理

6.1 主机名配置

查看主机名

cat /etc/sysconfig/network

hostname后面的值表示的就是主机名
修改主机名(重启后无效)

hostname hadoop

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

6.2 IP 地址配置

方式一:setup
用 root 输入 setup 命令,进入交互式修改界面
Minimal 安装的系统没有安装 setuptool 软件,可 yum 安装后使用。
yum install setuptool ntsysv system-config-securitylevel-tui
yum install system-config-network-tui system-config-keyboard
方式二:修改配置文件(重启后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
使修改文件的网络配置生效:
service network restart 重启网络服务
reboot重启计算机
方式三:ifconfig 命令(重启后无效)
ifconfig eth0 192.168.12.22

6.3域名映射

/etc/hosts文件用于在通过主机名进行访问时做 ip 地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的 ip 地址配置在/etc/hosts文件中 , 编辑其即可vi /etc/hosts。将需要进行映射的ip地址以及映射的名称如图最后两行添加即可

在这里插入图片描述

  • 在linux中,要想永久修改某个属性 就是修改在属性所在的文件 , 标记@表示较为重要
DEVICE=eth0  网卡名称
TYPE=Ethernet 网卡类型:以太网
UUID=7871c690-67c2-425e-8794-acc70cc0ef13
ONBOOT=yes   网卡开机是否自动加载   @
NM_CONTROLLED=yes
BOOTPROTO=none  ip等信息的决定方式:dhcp  static  none   @
HWADDR=00:0C:29:9E:B4:51  网卡mac地址
IPADDR=192.168.158.151    ip地址  @
PREFIX=24                 子网掩码(NETMASK=255.255.255.0)  @
GATEWAY=192.168.158.2     网关  @
DNS1=114.114.114.114      dns解析服务器  @
DOMAIN=192.168.158.2      dns解析服务器
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
  • DEVICE=eth0  网卡名称
    TYPE=Ethernet 网卡类型:以太网
    UUID=7871c690-67c2-425e-8794-acc70cc0ef13
    ONBOOT=yes   网卡开机是否自动加载   @
    NM_CONTROLLED=yes
    BOOTPROTO=none  ip等信息的决定方式:dhcp  static  none   @
    HWADDR=00:0C:29:9E:B4:51  网卡mac地址
    IPADDR=192.168.158.151    ip地址  @
    PREFIX=24                 子网掩码(NETMASK=255.255.255.0)  @
    GATEWAY=192.168.158.2     网关  @
    DNS1=114.114.114.114      dns解析服务器  @
    DOMAIN=192.168.158.2      dns解析服务器
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    NAME="System eth0"
  • windows平台hosts地址

C:\Windows\System32\drivers\etc\hosts

修改其中的相关内容即可

在这里插入图片描述

6.4 网络端口监听

netstat 是一款命令行工具,用于列出系统上所有的网络 socket连接情况,包括 tcp, udp 以及 unix socket,另外它还能列出处于监听状态(即等待接入请求)的 socket。如想确认 Web 服务有没有起来,可查看 80 端口有没有打开。
示例:
常见参数:
-a (all)显示所有选项,默认不显示 LISTEN 相关
-t (tcp)仅显示 tcp 相关选项
-u (udp)仅显示 udp 相关选项
-n 禁用域名反向解析功能,只显示 ip
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的进程信息
-ep 可以同时查看进程名和用户名
netstat –nlpt 获取进程名、进程号以及用户 ID

在这里插入图片描述

只列出监听中的连接netstat –tnl可以看到处于监听状态的 TCP 端口和连接

7. crontab 配置

crontab 是 Unix 和 Linux 用于设置周期性被执行的指令。通过 crontab 命
令,可以在固定间隔时间执行指定的系统指令或 shell 脚本。时间间隔的单位可
以是分钟、小时、日、月、周及以上的任意组合。
crontab 安装(针对安装的Centos是mini版的):
yum install crontabs
服务操作说明:
service crond start ## 启动服务
service crond stop ## 关闭服务
service crond restart ## 重启服务
service crond reload ## 重新载入配置
service crond status ## 查看 crontab 服务状态:
chkconfig crond --list ## 查看 crontab 服务是否已设置为开机启动
chkconfig crond on ## 加入开机自动启动

7.1命令格式

crontab [-u user] file
crontab [-u user][ -e | -l | -r ]
参数说明:
-u user:用来设定某个用户的 crontab 服务
file:file 是命令文件的名字,表示将 file 做为 crontab 的任务列表文件
并载入 crontab。
-e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前
用户的 crontab 文件。
-l:显示某个用户的 crontab 文件内容。如果不指定用户,则表示显示当前
用户的 crontab 文件内容。
-r:删除定时任务配置,从/var/spool/cron 目录中删除某个用户的 crontab
文件,如果不指定用户,则默认删除当前用户的 crontab 文件。

-i:在删除用户的 crontab 文件时给确认提示。

命令示例:
crontab file [-u user] ## 用指定的文件替代目前的 crontab。
crontab -l [-u user] ## 列出用户目前的 crontab.
crontab -e [-u user] ## 编辑用户目前的 crontab.

7.2 配置说明、实例

* * * * * command
分 时 日 月 周 命令
第 1 列表示分钟 1~59 每分钟用*或者 */1 表示
第 2 列表示小时 0~23(0 表示 0 点)
第 3 列表示日期 1~31
第 4 列表示月份 1~12
第 5 列标识号星期 0~6(0 表示星期天)
第 6 列要运行的命令
配置实例:

*/1 * * * * date >> /root/date.txt

tips: >> 表示追加的意思

每分钟执行一次 date 命令
30 21 * * * /usr/local/etc/rc.d/httpd restart
每晚的 21:30 重启 apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart
每月 1、10、22 日的 4 : 45 重启 apache。
10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart
每周六、周日的 1 : 10 重启 apache。
0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart
每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 apache。

* 23-7/1 * * * /usr/local/etc/rc.d/httpd restart
晚上 11 点到早上 7 点之间,每隔一小时重启 apache

  • 常见linux命令以及快捷键
>>  追加   把符号前命令执行的结果追加到后面指定的位置
tail -f 实时追踪文件的变化 并把变化的文件显示出
.当前目录
cd ../../a   ..表示上一级目录
touch 文件名   创建文件 
mkdir 文件夹名  创建文件夹 
在vi编辑器中:
u 表示撤销
G 文件最后一行
o 下一行写
ZZ(shift+zz) 保存并且退出(:wq)
yy  复制一行
p   粘贴
dd  删除当前行
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
linux 学习入门级宝典  Linux基础初级教程作者:红联 Linux基础初级教程 ─────DIY就要Linux   一部较适合Linux学习者学习的书籍,特别是刚从Windows转向Linux的朋友。主讲Linux基本技能 。随着Linux日益强大,越来越多的人接触Linux,但苦于无参考书籍,使得Linux学习倍感吃力,本书 将指引你通向Linux高手之路。   一个障碍,一个Linux学习的最大障碍-无书-在困扰着每一个企图闯出初、中级Linux困境的人 。---摘自《红联文摘》 广大Linux高手和通过Linux认证学习者都曾说过,做笔记是学习Linux中非常重要的环节,同时也 是通过Linux认证的必要前提,学习笔记可以很好地帮助自己温故巩固所学过的内容,也可以帮助自己 更快的发现学习中的进度及需加强的知识,更可以为以后更进一步的学习留下宝贵的历史记录及帮助 新人学习的资料,红联Linux论坛非常希望大家能这样做。   一份完整的学习笔记应该包括以下两个方面:主学部分和次要参考信息。在做笔记中,你可能用 不同颜色的笔来记载这两方面,使之有所区别。“主学部分”是指学习Linux操作系统目标内容。俗称 重点知识,熟记知识等。比如常用的系统管理命令,Linux下重要服务器的配置方法等等。“次要参考 信息”是指主学部分以外的各方面内容,这是学习笔记的次要部分,但也不要忽视它,因为这些内容 让我们更了解Linux,比如Linux的发展历史和特点,windows的dos提示下与Linux shell提示下常用命 令的对比,windows与Linux有何不同等等。千万不要小看这些内容,任何细小的环节都可以左右你的 技能水平,把涉及到有用的内容记下来是做笔记很好的习惯,如果你还有多余的时间,建议你也写写 学习日记,把你的学习进程及学习感受都写下来,艰辛的学习历程,我坚信那会成为激励你深造的武 器,我们拭目以待吧。有些人习惯把学习笔记与日记一同写,这是很值得推荐的。   学习Linux为什么要写学习笔记呢?它对学习有多大的帮助。我说不清楚,但我可以肯定对帮助学 习成长起到的作用是相当大的,总之,写学习笔记是正确的学习方法,学习笔记的记录应该尽量仔细 ,而且一定要清楚,字体美观,不能过几天之后就看不明白了,要给自己制造帮助成长的信息,同时 也给自己留下有保存价值的信息,以便今后再学习。怎么样,学习笔记有那么大的魅力,还等什么, diy写一份属于自己学习Linux的资料吧!
### 回答1: Linux GNOME是一种基于Linux操作系统的桌面环境,它提供了一个直观、易用的用户界面,包括桌面、任务栏、应用程序菜单等。它还支持多任务处理、窗口管理、文件管理等功能,可以满足用户的各种需求。Linux GNOME是开源软件,可以免费使用和修改,因此备受欢迎。 ### 回答2: Linux GNOME 是一种基于Linux操作系统的桌面环境。GNOME(GNU Network Object Model Environment)是一个自由开源的桌面环境,旨在提供一个现代化、用户友好且易于定制的界面。 Linux GNOME 是很受欢迎的桌面环境之一,它具有许多吸引人的特点和功能。首先,它提供了一个美观、整洁的用户界面,具有友好的图形化用户界面和直观的操作方式。它还支持多任务处理,用户可以同时运行多个应用程序并在不同的工作区间切换,从而提高了工作效率。 Linux GNOME 还提供了丰富而强大的应用程序和工具,包括文档编辑器、电子邮件客户端、网页浏览器等。此外,它还支持各种多媒体文件的播放和编辑,如音频、视频和图像。 除了以上功能,Linux GNOME 还具有高度的可定制性,用户可以根据自己的需求和喜好来调整桌面环境的外观和行为。用户可以更改主题、图标、窗口管理器等,以使其符合个人口味和需求。 Linux GNOME 也注重安全性和稳定性。它被认为是安全的桌面环境之一,具有许多安全特性和功能,以保护用户的隐私和数据安全。 总而言之,Linux GNOME 是一个功能强大、灵活且易于使用的桌面环境,受到许多Linux用户的喜爱。它提供了许多有用的应用程序和工具,允许用户自定义界面,并且注重安全性。无论是新手还是有经验的用户,都可以通过使用Linux GNOME来满足他们的需求。 ### 回答3: Linux GNOME(GNU Network Object Model Environment)是一款基于GTK+(GIMP Toolkit)的开源桌面环境。它是Linux操作系统和其他Unix-like系统的一部分,提供了用户友好和功能强大的图形用户界面。 GNU是GNU's Not Unix的缩写,是一种自由软件操作系统。Linux GNOME以GNU的理念为基础,致力于提供用户自由和隐私的保护。它提供了丰富的图形化工具和应用程序,包括文件管理器、文本编辑器、终端仿真器等。用户可以通过可定制的界面来满足自己的需求和个性化设置。 Linux GNOME的设计追求简洁和易用性。它的界面布局和操作方式类似于传统的桌面操作系统。用户可以从任务栏访问常用的应用程序、文件和文件夹,通过窗口管理器来管理打开的窗口。另外,GNOME还提供了一系列的工具,用于系统设置、网络管理、声音控制等。 Linux GNOME支持多任务处理,允许用户同时运行多个应用程序,并且能够方便地切换和管理各个窗口。它还提供了强大的文件搜索和系统通知功能,帮助用户更高效地操作和管理文件。 除了基本的功能外,Linux GNOME还提供了一些高级特性,如桌面效果、多媒体支持、远程桌面访问等。用户可以通过GNOME的插件和扩展来进一步增强其功能。 总结来说,Linux GNOME是一款强大且易用的开源桌面环境,为用户提供了丰富的图形化工具和应用程序,以及方便的界面定制和个性化设置。它基于GNU理念,注重用户的自由和隐私保护,并具有多任务处理、文件管理和高级特性等功能,可满足不同用户的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goat_1 3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值