Linux入门学习笔记

Stella981
• 阅读 680

个人博客原文链接

Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统,以下记录了学习Linux过程中的笔记.

简述

Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机.

版本

Linux的版本分为两种:内核版本和发行版本。 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。 发行版本是一些组织和公司根据自己发行版的不同而自定的。

安装

在VMware中安装Linux——CentOs系统 1.准备好CentOs的iso文件,安装好VMware 2.打开VMware,新建一个虚拟机 3.稍后安装操作系统 4.选择客户及操作系统Linux,版本为CentOs 5.输入虚拟机名称,选择该虚拟主机的安装位置(所有文件都将放在这个文件夹) 6.设置该虚拟机的磁盘大小(10~20G即可),选择拆分磁盘 7.自定义硬件,配置该系统内存大小(2G即可),选择iso文件,其它默认 8.启动该虚拟主机,选择第一个开始安装系统 9.选择skip跳过,媒体设备检测 10.选择简体中文版 11.选择美国英语式键盘 12.选择安装基本存储设备 13.选择忽略所有数据 14.输入该虚拟主机的主机名,配置网络,双击网卡,勾选自动连接 15.选择时区上海 16.输入根用户密码 17.选择替换现有Linux系统方式安装 18.选择将修改写入磁盘 19.选择安装Basic Server 20.等待安装完成即可

远程连接Linux

通过SecureCRT远程连接Linux,实现在本地windows操作Linux 1.安装SecureCRT 2.打开SecureCRT,选择快速连接 3.输入主机名(在Linux中使用ifconfig得到的ip地址) 4.输入用户名(一般使用超级管理员root) 5.输入对应用户密码 6.完成连接

Linux的目录结构

Linux入门学习笔记 bin:存放二进制可执行文件 sbin:存放二进制可执行文件,只有root能访问 etc:存放系统配置文件 user:用于存放共享的系统资源 home:存放用户文件的根目录 root:超级用户目录 dev:用于存放设备文件 lib:存放跟文件系统中的程序运行所需的共享库及内核模块 mnt:系统管理员安装临时文件的安装点 boot:存放用于系统引导时的各种文件 tmp:用于存放各种临时文件 var:用于存放运行时需要改变数据的文件

常用命令

切换目录(掌握)

cd app:切换到app目录 cd ..:切换到上一层目录 cd /:切换到系统根目录 cd ~:切换到用户主目录 cd -:切换到上一个所在目录

查看帮助(掌握)

man 命令 :查看“命令”的帮助 空格:翻页 q:退出帮助

目录操作(掌握)

mkdir(make directory) 创建子目录命令 mkdir a:在当前目录下创建a目录 mkdir -p a/b/c:在当前目录级联创建a/b/c目录

rmdir(remove directory)删除“空”的子目录 rmdir a:删除a目录

文件列表(掌握)

ls(list) 显示当前目录下的内容 ls:显示能看见的文件(和目录)的名称 ls -a:显示所有的文件名称,文件前面有“.”代表隐藏文件 ls -l:显示文件的详细信息(简写方式:ll) ll -h:友好的显示

浏览文件(掌握)

cat 在当前屏幕显示文件的全部内容(不推荐) cat 文件

more 一般用于显示的内容会超过一个屏幕的文件(不推荐) more 文件(空格显示下一页,回车显示下一行,q退出)

less 和more类似,但更易于控制翻页 less 文件(PgUp上一页,PgDn下一页)

tail 显示文件后几行的内容 tail -10 文件:查看该文件后十行内容 tail -f 文件:动态查看(常用于动态查看日志) ctrl+c:结束动态查看

文件操作(掌握)

touch 创建一个空白的文件 touch 文件名

cp(copy) 复制一个文件 cp a.txt b.txt:将a.txt复制并重命名为b.txt cp a.txt a/c.txt:将a.txt复制到a目录并重命名为c.txt

mv(move) 移动一个文件 mv a.txt b.txt:相当于重命名 mv a.txt a/b:将a.txt移动到a目录下的b目录

rm(remove)删除一个文件 rm a.txt 带询问的删除a.txt rm -f a.txt 不带询问,直接删除a.txt rm -r a 带询问的递归删除 rm -rf a 不带询问的递归删除(慎用!) rm -rf ./* 直接删除当前目录(慎用!!) rm -rf /* 直接删除根目录(GG!!!!!)

tar(打包或解压一个文件或目录----常用) 常用的组合参数: -cvf:打包一个文件或目录 -zcvf:打包并压缩一个文件或目录(压缩的格式为.gzip) -xvf:解压或打开一个tar文件

命令格式: tar 参数 文件名 要打包的文件或目录

示例: 将当前目录下的所有文件打包成1.tar tar -cvf 1.tar ./* 将当前目录下的所有文件解压并压缩为2.tar.gz tar -zcvf 2.tar.gz ./* 将1.tar解压到当前目录 tar -xvf 1.tar 将1.tar解压到b目录 tar -xvf 1.tar -C b

其他常用命令(掌握)

grep(查找符合条件的字符串----常用) grep hello 1.txt:在1.txt文件中查找hello grep hello 1.txt --color:在1.txt文件中查找hello并高亮显示 grep hello 1.txt --color -A5:在1.txt文件中查找hello并高亮显示,只显示hello的后5行 grep hello 1.txt --color -B5:在1.txt文件中查找hello并高亮显示,只显示hello的前5行

pwd(显示当前所在目录) pwd

wget(下载资料) wget www.bilibili.com:下载指定文件,这里下载到的是b站的index.html文件

ifconfig(查看ip地址) ifconfig

reboot(普通重启)

poweroff(立刻关机)

Vi和Vim编辑器(了解)

既可以查看文件也可以编辑文件,两者区别不大,vi代码不变色,vim代码会变色。

三种模式:命令行、插入、底行模式。 切换到命令行模式:按Esc键; 切换到插入模式:按 i 、o、a键; i:在当前的光标所在处插入 o:在当前光标所在的行的下一行插入 a:在光标所在的下一个字符插入 切换到底行模式:按 :(冒号)

一般流程: 打开文件:vim file 不保存退出:esc:q! 修改文件:输入i进入插入模式 保存并退出:esc:wq

快捷键(在命令模式时使用): yy:复制当前行 p:粘贴到当前行 dd:快速删除当前行 d+←/→:删除左边一个或右边一个 R:替换一个

重定向输出(了解)

>:重定向输出,覆盖原有内容 >>:重定向输出,追加内容

示例: ifconfig > a.txt 将输出定向到a.txt ifconfig >> a.txt 将输出追加到a.txt

&&命令(掌握)

命令之间使用&&连接,实现逻辑与的功能 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。 示例: mkdir -p a/b/c && cd a/b/c && touch 1.txt

|管道(掌握)

将一个命令的输出用作另一个命令的输入。 示例: 在ifconfig的输出里寻找192.168字符串 ifconfig | grep 192.168 查找和java相关的进程 ps -ef | grep java 查找和3306相关的信息 ps -ef | grep 3306

系统管理命令(掌握)

date (显示或设置系统时间) date 显示当前系统时间 date -s "2014-01-01 10:10:10" 设置系统时间

df (显示磁盘信息) df 显示磁盘信息 df –h 友好显示大小

free (显示内存状态) free 显示内存信息 free –m 以mb单位显示内存信息

top (显示,管理执行中的程序) top

clear 清屏幕 (ctrl+l)

ps (正在运行的某个进程的状态) ps –ef 查看所有进程 ps –ef | grep ssh 查找某一进程 kill 杀掉某一进程

kill 2868 杀掉2868编号的进程 kill -9 2868 强制杀死进程

du(显示目录或文件的大小) du –h 显示当前目录的大小

who(显示目前登入系统的用户信息) who 显示目前登入系统的用户信息

hostname (查看当前主机名) hostname 查看当前主机名 修改:vi /etc/sysconfig/network

uname (显示系统信息) uname -a 显示本机详细信息。 依次为:内核名称,主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称。

网络通讯命令

ifconfig (显示或设置网络设备) ifconfig 显示网络设备 ifconfig eth0 up 启用eth0网卡 ifconfig eth0 down 停用eth0网卡

ping (持续探测网络是否通畅,ctrl+c终止) ping 192.168.0.1

netstat (查看网络端口) netstat -an | grep 3306 查询3306端口占用情况

Linux的用户和组(了解)

用户管理

useradd (添加一个用户) useradd test 添加test用户 useradd test -d /home/t1 指定用户home目录 passwd (设置、修改密码) passwd test 为test用户设置密码

切换登录:(ssh -l 用户名 -p 22 主机ip)或(su - 用户名) 示例: ssh -l test -p 22 192.168.19.128 su – test

exit(退出当前用户) exit 退出当前用户,返回root用户

userdel (删除一个用户) userdel test 删除test用户(不会删除home目录) userdel –r test 删除用户以及home目录

组管理

当在创建一个新用户user时,若没有指定他所属于的组,默认建立一个和该用户同名的私有组 groupadd (创建组) groupadd public 创建一个名为public的组 useradd u1 –g public 创建用户指定组 groupdel (删除组,如果该组有用户成员,必须先删除用户才能删除组) groupdel public

Linux的权限命令(了解)

Linux三种文件类型

普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。 目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
设备文件: Linux系统把每一个设备都看成是一个文件

通过ll展示的列表: 以 d 开始的是目录文件 以 - 开始的是普通文件

文件的权限

文件的权限由9个字母组成,三个三个一组 第一组代表的是当前用户的权限 第二组代表的是组的权限 第三组代表的是其他用户的权限

r:读 4 w:写 2 x:执行 1

chmod (变更文件或目录的权限) chmod 755 a.txt chmod u=rwx,g=rx,o=rx a.txt chmod 000 a.txt (超级管理员依旧可以对它进行操作) ★chmod 777 a.txt

chown (变更文件或目录改文件所属用户和组) chown 用户:组 文件 chown user1:public a.txt :变更当前的目录或文件的所属用户和组 chown -R u1:public dir :变更目录中的所有的子目录及文件的所属用户和组

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这