Linux

Linux简介(了解)

Linux介绍:Linux是类UNIX计算机的统称

Linux操作系统的内核也是Linux

Linux是由芬兰大学生Linux Torvalds于1991年编写

Linux这个词本身只是表示Linux内核,但实际上人们已经习惯用Linux来形容整个基于Linux内核并且使用gun工程各种工具和数据库的操作系统

Linux发行版组成

Linux内核

应用软件

一些GUN程序库和工具

Emacs集成开发环境和文本编辑器

          GCC语言编辑器

GNOME

命令行shell

图形桌面环境

KDE

GNOME

unity

一些办公套件

openoffice

编译

gcc

g++

文本编辑器到科学工具的应用软件

vi

gedit

Linux版本

商业公司维护的发行版本Redhat系列

RHEL

CentOS

FedoraCore

社区组织的维护版本 Debian

Debian

Ubuntu

Linux目录结构

根目录结构

dev__设备文件

etc__包含了当前操作系统用户所有配置的相

home__当前操作系统所安装的用户的

lib__操作系统使用的库文件以及相关的配置都放在此目录下

mnt__手

media__系统自动挂载

usr__unix软件资源包管理目录,存放的是当前用户下

bin__Linux操作系统下可执行的系统级的二进制命令

sbin__超级用户需要用到的一些二进制命令存储在该目录

boot__系统开机时需要加载的一些文件和配置

lost+found__存放系统错误产生的文件碎片,方便用户

pioc__内核提供的一个接口,主要用来存储系统统计信息

root__root用户的宿主目录

run__存放系统运行时需要的一些文件

目录路径介绍

绝对路径__从根目录开始描述的路径,也是从/开始

相对路径

从当前位置开始描述的路

.表示当前目录

..表示当前目录的上级目录

两个临近目录直接进行切换 命令:cd

robertohuang@rodertohuang:~$

1.第一个robertohuang:当前登录的用户

2.@:英文at,在的意思

3.第二个rodertohuang:主机名

4.~:当前工作目录的位置,宿主目录

5.$:表示当前登录的用户为普通用户,如果为#则是超级用户

Linux命令

文件和目录

tree

以树状形式显示当前目录

需要安装软件:sudo yum -y install tr

Is__查看指定目录下所有文件和目录信息

-a(all)__列出当前目录下所有文件内容

-R(precursive)__同时列出所有子目录

-l__除了文件名之外,还将文件的权限,所有者,文件大小等信息详细列出来

cd__进入指定目录(cd+path)

相对路径-> cd ./robertohuang/tomcat

绝对路径-> cd /home/robertohuang/tomcat

->当前目录的上一级

.->当前目录

进入家目录(/home/robertohuang)三种方式__cd__cd ~__cd /home/robertohuang

pwd__查看当前所在目录(printf working directory的缩写)

创建/删除目

创建:mkdir +目录名

mkdir world ->创建world目录

创建/删除目录of mkdir -p world/a/b ->创建多级录加参数-p

删除:rmdir +目录名__只能删除空目录,使用频率不高

创建/删除文件__创建touch +

CP

拷贝文件__cp file1.txt file2.txt ->将file1.txt中的内容拷贝到file2.txt er -

文件不存在创建文件

文件存在,覆盖原文件

拷贝目录__cp-r dir1 dir2 ->将目录dir1中的内容拷贝到dir2中__dir2 目录不存在创建目录

scp命令

scp:super copy的缩写

使用该命令的前提条件__目标主机已经成功安装openssh-server

使用格式

scp -r目标用户名@目标主机IP地址:/目标文件的绝对路径/保存到本机的绝对(相对)路径

scp -r目标用户名@目标主机IP地址:/目标文件的绝对路径/保存到本机的绝对/相对路径

scp -r usertest@192.1 68.29.128:/home/usertest/test /home/robertohuang/test

拷贝目录需要加参数-

查看文件内容

cat__cat file.txt ->将文件内容一次性输出到终端,如果文件太长,无法再终端全部显示

more

more+文件名

文件内容分页显示到终端,但是只能一直向下浏览, 不能回退

相关操作

回车:显示下一行

空格:显示下一 页

ctrl+c或q:退出

less

less+文件

文件内容分页显示到终端,可以自由上下浏览

相关操作

回车:显示下一行

空格:显示下一页

ctrl+p 或↑:滚动到上一行

ctrl+n或↓:滚动到下一行

q:退出

head

从文件头部开始查看前x行的内容

head e head -5 hello.c -->查看hello.c文件前五行的内容

如果没有指定行数,默认显示前10行

tail

从文件尾部开始查看后x行的内容

tail -5 hello.c -->查看hello.c文件后五行的内容

如果没有指定行数默认显示后10行内容in

软链接 相当于Windows下快捷方式

注意事项

创建软链接,源文件要使用绝对路径

软连接大小:源文件 +路径的总字节数

目录可以创建软链接

示例:In -s /home/robertohuang/a.txt (源文件名+绝对路径) a.test (软链接的名字)

硬链接

注意事项

以文件副本的形式存在,但不占用实际空间

不允许给目录创建硬链接

硬链接只有在同一个文件系统中才能创建

硬链接能够同步更新

linux下每一个文件都对应一 个Inode,创建硬链接后两个文件的Inode是相同的

查看文件的Inode:stat a.txt

文件创建硬链接后,硬链接计数+ 1,删除一个硬链接硬链文件或目录属性

wc

查看文件的字数、字节数、行数

wca.txt 结果: 7 23 120 a.txt

参数

-c:只显示字节数

-l:只显示行数

-w:只显示字数

od__查看二进制文件信息

du__查看某个录的大小(disk use的缩写)

df__查看磁盘的使用情况(disk free的缩写)

which

查看指定命令所在的路径

which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

文件权限,

whoami__查看当前登录用户

chmod

修改文件访问权限

修改方法

文字设定法

chmod [who] [+|-丨=] [mode]文件名

操作对象[who]

u --用户(user)

g--同组用户(group)

o--其他用户(other)

a--所用用户(all)

操作符[+-=]

+ --添加权限

- -- 取消权限

= --赋予给定权限并取消其他权限

权限[mode]

r--读

w--写

x--执行

例chmod u + wx file.txt

数字设定法

数字表示的含义

0 --没有权限(-)

1--执行权限(x)

2--写权限(w)

4--读权限(n)

操作符

+ --添加权限

- -- 取消权限

= --赋予给定权限并取消其他权限(默认为=)

例:chmod 777 file.txt

chown

将指定文件的拥有者改为指定的用户或组(change owner的缩写)

用法

chown +文件所属用户+文件或目录名__chown robertohuang text.txt

chown +文件所属用户:文件所属组+文件或目录名__chown robertohuang:robertohuang text.txt

chgrp

改变文件或目录的所属群组

用法

chgrp +用户组+文件或目录名

chgrp robertohuang text.txt

查找和检索

find

按文件名查询:-na

find /home/robertohuang name a.txt

按文件大小查询: -size d

find+路径+-size+范围

范围

大于:+表示-- +100

小于:-表示-- -100k

等于:不需要添加符号-- 100k

k必须小写

例子

等于100k的文件: find ~/ - size 100k

大于100k的文件: find ~/ -size +100k

大于50k小于100k的文件: find ~/ -size +50k -size -100k按文件类型查询: -type d

find +路径+ -type +类型__类型

1.普通文件类型用f表示而不是一

2.d->目录

3.1->符号链接

4.b-> 块设备文件

5.c->字符设备文件

6.s-> socket文件,网络套接字

7.p->管道

例子:find /home/robertohuang -

grep__按文件内容查

参数-R

grep-r +“查找的关键字”+ 路径__grep -r"main void" /home/robertohuang

压缩包管理

压缩.gzip命令

压缩过程中不保留源文件

不能对目录进行压

不能对多个文件进行打包压缩

解压缩.gun

.bz2格式

压缩.bzip2

通过使用参数-k(keep)来保留源文件

不能对目录进行压缩

不能对多个文件进行打包压

解压缩bunzip命

打包__zip-r +打包之后的文件名(dir.zip) + (打包的目录)dir

解包

unzip dir.zip

使用参数- d来解压到指定目录unzip dir zip -d /home/robertohuang/test

tar

该命令可以只打包不压缩

通过添加参数,来完成文件的压缩和解压

进程管理

who

查看当前在线用户的情况

登录的用户名

使用的设备终端

登陆到系统的时间

ttu设备

tty1 - tty6表示文字界面__ctrl + alt + [F1-F6]

tty7图形界面__子主题1__ctrl+alt+F7

ps

查看整个系统内部所运行的进程状况

涉及的参数

a(all)当前系统所有用户的进程

u:查看进程所有者及其他一些信息

x:显示没有控制终端的进程 --不能与用户进行交互的进程[输入、输出]

-e:显示所有进程

-f:显示UID,PPIP,C与STIME栏位

显示当前用户下所有进程 ps aux

对显示的进程过滤ps aux| grep xx

grep查询是需要占用一个进程的,所有结果> 2才能说

如果结果有一条,表示没有查询的进程

查询结果中PID表示进程ID

Kill

用来终止指定的进程(terminate a process)的运行

查看信号编号__Kill-l

杀死进程__kill -9 89899 [PID进程标识号]__向当前进程发送 了9号信号( SIGKILL )

env

查看当前进程环境产量

环境变量

当前系统下用户配置路径信息

格式为键值对:key-value :value

top

相当于windows系统下的任务管理器

文字版

不能翻页

网络管理

ifconfig

获取网络接口配置信息,还可以修改这些配置

获取网络接口信息

ping

测试与目标主

命令格式__ping[参数](主机名或IP地址)

参数

-c数目 在发送指定数目的包后停止

-i秒数 设定间隔几秒送一个网络封包给一台机器预设置是一秒送一次

nslookup

需要先安装nslookup:yum -y install bind-utils

查看服务器域名对应的IP地址

一般访问网站都是使用域名,如:www.baidu.com,使用该命令就可查看百度所有服务器的IP地址

创建用户__adduser +用户名

useradd ~-s /bin/bash -g usertest -d /home/usertest -m usertest

-s:指定新用户登陆时shell类型

-g:指定所属组,该组必须已经存在

-d:用户家目录

-m用户家日录不存在时,自动创建该

设置用户组__groupadd usertest

删除用户

deluser +用户名

userdel -r usertest__选项 -r的作用是把用户的主日录一起删除

切换用户__su

设置密码

sudo passwd +用户名( luffy )

passwd root

passwd

退出登陆用户__exit

其他命令

清屏

ctrl+l

clea

查看帮助命令man +命令,如man

设置或查看

设置__alias pag='ps aux I grep'

关机重启

po

reboo

studown

-t<秒数> :送出警告信息和删除信息之间要延迟多少秒

-k:只是送出信息给所有用户,但不会实际关机

-r:shutdown之后重新启

-h:将系统关机

-n:不调用init程序进行关机,而由shutdown自己进行

-f:重新开机时,跳过fsck指令,不检查档案系统

-F:重新开机时强迫做fsck检查

-c:将已经正在shutdown的动作取消shutdown -r now立刻重新开机shutdown -h now立刻关机

例子

shutdown -r now立刻重新开机

shutdown -h now立刻关机

shutdown -k now 'Hey! Go away! now...发出警告讯息,但没有真的关机

shutdown -t3 -r now立刻重新开机但在警告和删除processes之间,延迟3秒钟

shutdown -h 10:42 'Hey! Go away!' 10:42分关机

shutdown -r 10 'Hey! Go away!' 10分钟后关机

shutdown -C将刚才下的shutdown指令取消,必须切换至其它tty,才能下此一指令

shutdown now切换至单人操作模式(不加任何选项时)

free__查看内存使用情况

vim操作

描述

是一个文本编辑程序

没有菜单,只有命令,且命令繁多

基本工作模式

命令模式

移动光标

h:←左移

I:→右移

j:↓下移

k:↑上移

gg:光标移动文件开头

G:光标移动到文件末尾

0:光标移动到行首

$:光标移动到行尾

123G:跳转到第123行

删除

x:删除光标后一个字符,相当于Del

X:删除光标前一个字符,相当于Backspace

dw:删除光标开始位置的字包含光标所在字符

d0:删除光标前本行所有内容,不包含光标所在字符

D(d$):删除光标后本行所有内容,包含光标所在字符

dd:删除光标所在行

n dd:删除指定的行数

撤销操作

u:一步一步撤销

Ctr-r:反撤销

复制粘贴

yy:复制当前行,n yy复制n行

p:在光标所在位置向下新开辟一行,粘贴

P:在光标所在位置向上新开辟一行,粘贴

可视模式__v:按字移动

查找操作

/hello ->从光标所在位置向后查找hello

n:下一个

N:上一个

?hello ->从光标所在位置向前查找hello

n:上一个

N:下一个

在要查询的单词上使用#进行查找

替换操作__r:替换当前字符

文本行移动

> >:文本行右移

< <:文本行左移

文本输入模式

进入输入模式

i:插入光标前一个字符

l:插入行首

a:插入光标后一个字符

A:插入行未

0:向下新开行,插入行首

O:向上新开一行,插入行首

s:删除光标所在的字符

S:删除当前行

末行模式__命令

行跳转__:123->跳转到第123行

替换

替换一行

:s/abc/123 ->将当前行中的第一个abc替换为123

:s/abc/123/g ->将当前行中的abc全部替换为123

替换全部

:%s/abc/123 ->将所有行中的第一个abc替换为123

:%s/abc/123/g ->将所有行中的abc全部替换为123

替换指定行__:10,30s/abc/123/g ->将10-30行中的abc全部替换为123。 替换指定行

执行shell命令__末行模式里输入!,后面跟命令

分屏操作__末行模式

命令:sp将屏幕分为两部分-->水平

命令:vsp将屏幕分为两部分-->垂直

命令:sp (vsp) +文件名水平或垂直拆分窗口显示两个不同的文件

vim打造IDE

系统级配置文件目录: /etc/vim/vimrc修改配置文件vimrc或者vimrc

用户级配置文件目录: ~/.vim/vimrc

2019-10-20 李宗盛 linux的更多相关文章

  1. 2019.10.20 csp-s模拟测试 lrd试题 反思总结

    赶进度赶进度,丢个代码两三句备注一下完事了. day1: 前面两道题没实际写代码怕印象不深所以描述一下大意. T1: 题目大意:给出两个数&.|.^的结果(可能只给出其中某一项或者某两项),求 ...

  2. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  3. 20个Linux命令及Linux终端的趣事

    20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...

  4. 10分钟学会Linux

    10分钟学会Linux有点夸张,可是能够让一个新手初步熟悉Linux中最重要最主要的知识,本文翻译的英文网页在众多Linux入门学习的资料中还是很不错的. 英文地址:http://freeengine ...

  5. 外媒速递:系统管理员必须掌握的20条Linux命令

    [51CTO.com原创稿件]外媒速递是核子可乐精选的近日国外媒体的精彩文章推荐,希望大家喜欢! 今天推荐的内容包括:系统管理员必须掌握的20条Linux命令.五款最佳Linux屏幕记录应用.MySQ ...

  6. 玩家福音:10款最佳Linux免费游戏

    “我能在Linux平台上游戏吗?”这类疑问正困扰游戏玩家,那么答案就是“快去Linux平台吧!”.开源组织一直以来坚持不懈为Linux操作系统开发不同类型的游戏,在Linux平台下的游戏完全不亚于其他 ...

  7. Win10 LTSC 2019 安装和卸载 linux 子系统

    一.开启 二.下载 https://docs.microsoft.com/zh-cn/windows/wsl/install-manual   手动下载适用于 Linux 的 Windows 子系统发 ...

  8. TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器

    TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器 任务清单 给自己取一个酷酷的id,并选择1-2个喜欢的方向.(只是初步选择,后期可更改) 改下群名片.例如yo ...

  9. 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换

    [源码下载] 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换 作者:webabcd 介 ...

随机推荐

  1. koa常用api文档整理

    koa 支持的配置 1.应用配置是 app 实例属性,目前支持的配置项如下 配置项名称 简介 app.name 应用名称(可选项) app.env 默认为 NODE_ENV 或者 developmen ...

  2. P2168 [NOI2015]荷马史诗 k叉哈夫曼树

    思路:哈夫曼编码 提交:1次(参考题解) 题解:类似合并果子$QwQ$ 取出前$k$小(注意如果叶子结点不满的话要补全),合并起来再扔回堆里去. #include<cstdio> #inc ...

  3. 015_STM32程序移植之_NRF24L01模块

    STM32程序移植之NRF24L01模块 引脚接线图如下所示 STM32引脚 NRF24L01引脚 功能 GND GND 3.3V 3.3V PB8 CE PB9 CSN PB13 SCK PB15 ...

  4. Java中堆内存和栈内存有什么区别

    本文链接:https://blog.csdn.net/wangbo1998/article/details/80379016Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基 ...

  5. 014_编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件

    #!/bin/bash#执行脚本时,需要给脚本添加位置参数 带参for i in "ls *.$1"do     #去尾     mv $i ${i%.*}.$2done

  6. learning express step(五)

    learning  express  middleware var express = require('express'); var app = express(); var myLogger = ...

  7. 2018 Nowcoder Multi-University Training Contest 2

    目录 Contest Info Solutions A. run D. monrey G. transform H. travel I. car J. farm Contest Info Practi ...

  8. CF1182F Maximum Sine【类欧,扩欧】

    题目链接:洛谷 题目描述:求整数$x\in [a,b]$使得$|2px \ mod \ 2q-q|$最小,如果有多个$x$输出最小的. 数据范围:$1\leq a,b,p,q\leq 10^9$ 第一 ...

  9. linux下查看内存频率,内核函数,cpu频率

    查看CPU: cat /proc/cpuinfo # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理 ...

  10. Jenkins系统初始化配置

    1.点击系统管理-->全局安全配置 2.设置允许用户注册,点击保存 3.配置全局工具 4.配置maven文件路径,使用文件系统中的settings文件 5.配置jdk 6.配置maven 7.我 ...