Linux基础

Linux笔记

一.LInix基本操作

1.

Kernel是内核。Shell(只是一个概念)分为CLI(命令行)和GUI(图形界面).

操作系统的Shell:

  • GUI: GNOME
  • CLI:BASH

2.BASH(命令行程序)

提示符:#(root用户),$(普通用户)

@前面是用户名,后面是主机名。后面是当前目录。

 

命令行一般由三个部分组成:

  • 命令
  • 选项
  • 参数(单字符参数由 – 开头)

 

使用 ctrl + c终止当前命令

打开应用程序,放在后台运行,终止当前命令。加&号。

如 firefox &

 

使用Tab键来简化命令输入

  • 自动补全命令
  • 自动补全文件名(长度只要达到能和其它文件区分开)
  • 无法自动补全参数

按两个Tab可以显示出所有的命令

 

历史纪录

  • BASH会保存你输入命令的历史纪录,可以通过上下按键或者history命令来查看。
  • 使用上下按键查看之前的命令(能一直往前递归查看历史)
  • 使用history命令查看历史纪录

 

 

 

通过历史记录简化操作

  • !! 重复前一个命令
  • !字符 重复前一个以”字符”开头的命令
  • !num 按照历史纪录的序号执行命令
  • !?abc 重复之前包含abc的命令
  • !-n 重复前n个命令之前的那个命令

 

搜索命令历史记录

  • 可以通过ctrl + r来在历史记录中搜索命令(reverse-i-search)
  • 重新调用前一个命令中的参数 esc .

esc后按.键

 

Bash Shell支持以下通配符

  • * 匹配零个或多个
  • ? 匹配任意一个字符
  • [0-9]匹配一个数字字符
  • [abc]匹配列表里任何字符
  • [^abc]匹配列表以外字符

 

切换用户

  • 在CLI中,通过su命令切换用户

su – 切换到root用户并使用一个新的运行环境,加破折号启用新的终端

sudo 使用管理员用户身份运行命令,不切换用户

  • su – username 切换到另一个用户
  • 显示当前用户信息

id

  • 修改当前用户密码

passwd

  • exit退出当前用户

 

BASH作业管理

  • 在后台运行进程

在命令后添加一个 &

  • 暂停某个程序

通过Ctrl+z或者发送信号17

  • 管理后台作业

jobs查看当前后台运行的所有作业

sleep 5000 停止5000s

bg  进程编号  控制一个进程继续在后台运行

fg 进程编号 把后台作业拉到前台

 

3.Linux文件系统结构,通过命令行管理文件系统

 

 

  • Linux文件系统为一个倒转的单根树状结构
  • 文件系统的根目录为“/”
  • 文件系统严格区分大小写
  • 路径使用”/”分割,(“windows中使用”\”)

 

当前工作目录

  • 每一个shell或系统进程都有一个当前工作目录
  • 使用pwd(print work directory)命令可以显示当前的工作目录
  • ~可以代替家目录

 

文件名称(对文件夹也相同)

  • 文件的名称大小写敏感
  • 名称最多可以为255个字符
  • 除了正斜线外,都是有效字符
  • 通过touch命令可以创建一个空白文件或者更新已有文件的时间
  • 以”.”开头的文件为隐藏文件,隐藏文件绝大部分为配置文件,轻易不要去动这些文件。

 

列出目录内容

“ls”命令用来列出目录内容

相关参数:

  • ls -a 显示所有文件(包括隐藏文件)
  • ls -l 显示详细信息
  • ls -R 递归显示子目录结构
  • ls -ld 显示目录和链接信息

 

查看文件类型

  • file

 

绝对路径与相对路径

  • 绝对路径:以“/”开头,递归每级目录直到目标的路径。不受当前所在工作目录限制。
  • 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制。

 

 

cd命令可以用来切换目录

  • 上一级目录 “..”
  • 当前目录“.”
  • 用户家目录“~”
  • 上一个工作目录“-”

 

4.Linux文件操作

 

复制文件,目录

  • 使用cp命令复制文件或目录

cp 源文件(文件夹)  目标文件(文件夹)

  • 常用参数

-r  递归复制整个目录树(用于复制文件夹) cp -r

-v  显示详细信息 cp -v

 

移动,重命名文件或目录

  • 通过mv命令移动或者重命名文件或目录

mv 文件 目标目录

  • 如果指定文件名,则可以重命名文件

 

创建,删除文件

  • 通过touch命令可以创建一个空文件或更新文件时间
  • 通过rm命令可以删除文件或目录

常用参数

-i 交互式

-r 递归的删除包括目录中的所有内容

-f 强制删除,没有警告提示(使用时需十分谨慎)

 

创建,删除目录

  • 通过mkdir命令创建一个目录
  • 通过rmdir命令删除一个空目录
  • 通过rm -r (-f) 命令删除一个非空目录

 

 

5.Linux系统目录架构

bin (保存的是常用的可执行二进制文件,所有的命令文件)

boot(引导目录,操作系统的引导启动文件)

dev(设备的缩写,计算机所有的硬件设备,各个设备都抽象成一个文件)

etc(几乎所有的配置文件,绝大多数是文本配置文件)

home(家目录,每一个用户都有自己的一个文件夹,保存该用户私有文件)

root(root用户的文件夹是单独的)

lib(所有的linux系统运行库文件)

media(光盘自动挂载)

mnt(光盘自动挂载)

opt(很多时候是空的,用来装一些大型软件,放在哪里不是强制的)

proc(系统实时信息,不存在于硬盘,在内存里)

sbin(可执行二进制文件,sbin里的命令只有root用户才能执行)

selinux(安全相关)

sys(底层硬件信息)

tmp(临时文件,隔断时间会自动删除)

usr(一般应用软件默认装到此)

var(经常变化的信息,如操作系统的日志)

 

6.常用命令

 

日期时间

  • 命令date用以查看,设置当前系统时间

格式化时间: +%Y--%m--%d

[[email protected] Desktop]$ date +%Y--%m--%d

2017--07--11

  • 命令hwclock(clock) 用以显示硬件时钟时间
  • 命令cal用以查看日历
  • 命令uptime用以查看系统运行时间

 

输出,查看命令

  • 命令echo用以显示输入的内容

[[email protected] Desktop]$ echo "dawf"

dawf

  • 命令cat用以显示文件内容(纯文本文件)
  • 命令head用以显示文件的头几行(默认10行)

-n指定显示行数

·      命令tail用以显示文件的末尾几行(默认10行)

       -n指定显示的行数

      -f追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的额内容)

· 命令more用于翻页显示文件内容(只能向下翻页)

  • 命令less用于翻页显示文件内容(带上下翻页)

 

查看硬件信息

  • 命令lspci用以查看PCI设备 列出(ls)

-v查看详细信息

·   命令lsusb用以查看USB设备

   -v查看详细信息

·   命令lsmod用以查看加载的模块(驱动)

 

关机,重启

  • 命令shutdown用以关闭,重启计算机

shutdown[关机,重启]时间

-h 关闭计算机

-r 重新启动

 

如:

立即关机:shutdown -h now

10分钟后关机:shutdown -h +10

23:30分关机:shutdown -h 23:30

立即重启: shutdown -r now

  • (快捷)命令poweroff用以立即关闭计算机
  • (快捷)命令reboot用以立即重启计算机

 

归档,压缩

  • 命令zip用以压缩文件

zip linuxcast.zip(压缩后的文件名)   myfile(要压缩的文件名)

  • 命令unzip用以解压缩zip文件

unzip linuxcast.zip(要解压的zip文件)

  • 命令gzip用以压缩文件

gzip linuxcast.net(文件名)

  • 命令tar用以归档文件(打包)

tar  -cvf  out.tar(归档后的文件包名)  linuxcast(要打包的文件夹)

tar  -xvf  linuxcast.tar   用于解开一个归档

tar    -cvzf      backup.tar.gz    /etc  先归档,之后压缩tar调用gzip的命令

-z参数将归档后的归档文件进行gzip压缩以减少大小

      

 

查找

  • 命令locate用以快速查找文件,文件夹

locate keyword

bb此命令需要预先建立数据库,数据库默认每天更新一次,可用update命令手工建立,更新数据库。

  • 命令find用以高级查找文件,文件夹

find查找位置 查找参数

如:find .  -name  *linuxcast*  在当前目录查找所有文件名中包含linuxcast的文件

  find /  -name  *.conf

  find / -perm 777            硬盘中所有权限为777的文件

  find / -type d                返回所有目录

  find . -name “a*” -exec ls -/{}\; 查找所有文件名以a开头的文件,然后当成参数传递给那个命令。

  • find常用查找条件

-name 基于文件名

-perm  基于文件权限

-user  基于用户

-group

-ctime

-type

-size

 

7.vi,vim文本编辑器

vi是一个命令行界面下的文本编辑工具。

vim已经不仅仅作为普遍意义上的文本编辑器,而是被guan广泛的作为在文本编辑,文本处理,代码开发等用途。

vim比vi的功能更为强大。

Linux中知名的文本编辑器还有emacs,它的功能比vim还要强大。

 

vim

  • 命令vim可以启动vim编辑器
  • 一般我们通过vim+目标文件路径 的形式使用vim
  • 如果目标文件存在,则vim打开该文件。
  • 如果目标文件不存在,则vim新建并打开该文件。

 

vim模式(三种模式)

  • 命令模式(常规模式)

vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。命令模式下可以通过键入不同的命令完成选择,复制,粘贴,撤销等等操作。

  • 插入模式

在命令模式中按“i”键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。

  • ex模式

在命令模式中按”:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或ui出vim.

 

命令模式

vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)

。命令模式常用命令如下:

  • i    在光标前插入文本
  • o   在当前行的下面插入新行
  • dd  删除整行
  • yy     将当前行的内容放入缓存区(复制当前行)
  • n+yy 将n行的内容放入缓存区(复制n行)
  • p      将缓存区中的文本放入光标后(粘贴)
  • u      撤销上一个操作
  • r       替换当前字符
  • /       查找关键字

 

EX模式

  • 在命令模式中按“:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。ex模式下常用命令如下:

:w  保存当前修改

:q  退出

:q!  强制退出,不保存修改

:x   保存并退出,相当于:wq

:set number 显示行号

:!  系统命令 执行一个系统命令并显示结果

:sh  切换到命令行,使用ctrl + d 切换回vim

点击完命令后按回车确定

 

8.磁盘,分区,MBR与GPT

二.Linux磁盘及文件管理系统

1.使用fdisk进行磁盘管理

2.Linux文件系统

3.挂载,使用文件系统

三.Linux获取帮助

没有必要记住所有东西

-      几乎所有命令都可以使用-h或--help参数获取使用方法,参数信息等。

-      --help广泛

 

 

-MAN

· man命令是Linux中最为常用的帮助命令,将要获取帮助的命令作为参数运行man命令就可以获取相应的文档帮助。

  • man 命令 会出现该命令的参数方法
  • man文档分为很多类型。

·man -k关键字 可以用来查询包含该关键字的文档

 

INFO

  • info与man类似,但是提供的信息更为详细深入,以类似网页的形式显示。
  • man与info都可以通过”/+关键字”方式进行搜索。
  • info 命令

 

DOC

·很多程序,命令都有详细的文档,以TXT,HTML,PDF等方式保存在/usr/share/doc目录中,这些文档是相应程序最为详尽的文档。

 

四.用户及权限基础

1.Linux用户基础

2.Linux权限

加入参数  -R  可以把修改的权限递归到子文件

3.Linux扩展权限

(默认权限,特殊权限)

 

五.Linux网络基本配置

1.网络基础

2.Linux基本网络配置

六.Linux管道,重定向及文本处理

1.Linux多命令协作:管道及重定向

2.文本处理

七.Linux系统启动详解

init是linux系统的第一个进程。是所有进程的父进程。

 

八.Linux软件管理基础:RPM、YUM

1.RPM软件包管理

2.YUM

 

 

 

时间: 2024-10-12 13:42:05

Linux基础的相关文章

《OD学Hadoop》Linux基础

一.Linux基本环境 1. Linux常见版本及VMware虚拟机安装Linux系统 2. 虚拟机网络配置(IP地址.主机名.防火墙) 3. 文件基本命令操作 4. 四大远程连接工具使用 二.Linux基础命令 1. 用户和组创建.删除.更改和授权 2. 文件/目录创建.删除.移动和拷贝重命名 3. 编辑器VI/VIM基本使用 4. 文件常用操作(内容查看.追加等) 三.Linux系统管理 1. 磁盘基本命令(df.du.fdisk.mount) 2. 内存使用监控命令(top.free) 3

《OD学hadoop》第一周0625

一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1-3版: Hadoop1系列 4版(目前仅有英文原版):Hadoop2系列 yarn高可用性,HA 2. <Hive权威指南> 3. <MapReduce设计模式> 4. <HBase权威指南> 5. <鸟哥的Linux私房菜> 6. <Vim使用技巧>

《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)

1. 1) vim /etc/udev/rules.d/70-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet UUID=57d4c2c9-9e9c-48f8-a654-8e5bdbadafb8 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAM

《OD学hadoop》第三周0709

一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. 处理的数据放在input中.处理的结果放在output中6. MR程序>八股文7. MR在处理数据的时候,是由一个流向,数据在处理过程中的流向格式:以<key,value>进行流向8. input -> map() -> reduce() -> output<key

《OD学hadoop》mac下使用VMware Fusion安装centos

一. NAT模式网络访问 (1)在linux中输入命令ifconfig查看网络信息 (2)在mac中输入命令ifconfig查看网络信息 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 options=3<RXCSUM,TXCSUM> inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 inet6 fe80::1%lo0 prefixlen 64 sco

《OD学hadoop》20160910某旅游网项目实战

一.event事件分析 叶子节点只计算一次 父节点的触发次数由子节点的数量节点 事件流:是由业务人员定义的一系列的具有前后顺序的事件构成的用户操作行为,至少包括两个事件以上. 目标:以事件流为单位,分析事件流中各个事件的触发次数 事件流特征: 1.事件流中每一个事件都会存在一个来源/父事件 计算方式: 1. 不考虑事件流的关系,直接计算各个事件的触发次数(wordcount) 2. 考虑事件流,计算事件流中的各个事件的触发次数 区分 1.uuid,不同访客的事件流不在一起处理: 不同人产生的事件

《OD学hadoop》第一周0626

一. 二. 三. 七.克隆虚拟机 1. 修改网络 (1)vi /etc/udev/rules.d/70-persistent-net.rules eth1 改为eth0 (2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 HWADDR改为eth1的地址 HWADDR=00:0c:29:79:e6:ec 八.安装jdk modules 装好的软件 software 安装软件 (1)解压jdk tar -zxf file -C /opt/modules (

《OD学hadoop》20160904某旅游网项目实战

一.ETL操作 抽取数据 日志格式: 分割符号:^A IP地址 服务器时间 二.Java工程 1. 创建项目 copy代码及配置文件 2. 改配置 core-site.xml hbase-site.xml 3. 代码描述 common包:常量(字段常量) dimension包:自定义key value

《OD学hadoop》第二周0703

hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hadoop-01:8088/cluster -- hdfs $ sbin/hadoop-daemon.sh start namenode $ sbin/hadoop-daemon.sh start datanode -- yarn $ sbin/yarn-daemon.sh start resourcem

学hadoop需要什么基础

最近一段时间一直在接触关于hadoop方面的内容,从刚接触时的一片空白,到现在也能够说清楚一些问题.这中间到底经历过什么只怕也就是只有经过的人才会体会到吧.前几天看到有个人问"学hadoop需要什么基础",这个问题好像至今还没好好细想过,可能是因为身边有大神在带着我学习hadoop的缘故,也就没想过这样的一个简单的问题. 我们目前在用的hadoop版本并不是原生态的版本,我们在用的是国内的一款商业发行版,叫DKhadoop.大快搜索推出的一款原生态开发的Hadoop集成生态环境.从使用