【Ubuntu】学习Linux,从入门到入迷

更新于2020/10/30

linux规划学习

之前学习的linux比较杂而乱,基本是需要什么百度什么,系统的学习并没有总结出较好的笔记和规律。再上这门课的时候,我也不知道自己的基础是什么样子的。既然不知道底细,那么就从零开始快速学习吧

第一次使用linux的基本操作

第一次登陆,我们不能总是使用root,我们需要一个账号相对安全的使用系统

$useradd -m username # 添加用户
$passwd username # 添加密码

接下来我们删除二手系统中的原账号

# 如果你已经切换到了新账号,你会发现你还没有足够的权限删除别人的账号,我们先切换回root账号
$su root
$userdel -r username

我们发现刚创建的账号的权利级别是很低的,要让我们的账号更加有权利,我们就需要把自己加入一个定义好的组

$groups # 先查看所有的组别
$usermod -G groupName username # 添加组

基本的账号创建完毕了,我们就来检查一下自己的系统

$uname (-a) # 查看系统信息,-a可以看到更多的内容

然后我们开始愉快的实验内容,以下命令为基本命令,在常规操作中使用(f,f1,f2等代表文件的路径)

实现效果代码
你想要看一下目录下面的文件有哪些ls -a包括隐藏文件/t按照时间排序/F查看哪些是文件夹/lg或者l都是看详细信息/迭代显示目录内容包括子文件夹中文件以及隐藏文件或者ll 简单看文件名
快速浏览文件内容cat f
复制不需要粘贴cp f1 f2
删除rm (-rf) f 括号内是强制删除
查看文件内容属性file f
查找目录中文件,你需要学一下正则表达式find path regx
实在不会了想看帮助man codename
查看进程ps
干掉进程kill p
安装卸载驱动器(虽然我没咋用过)mountumount
查看日期和时间,还可以设置,注意系统时间可能是某自由国家的时间date
清屏clear

好了,实验做完了,你发现你忘记安装图像化界面的同时发现追番又更新了。此时我们就安装一下图形化(如果你在安装时没有安装图形化洁面的话)
为了演示和验证,我特地删除了我的图形化界面(手动狗头)

这是我删除的过程,了解一下就好

$yum groupremove "X Window System" -y # X Window
$yum groupremove "GNOME Desktop Environment" -y #  GNOME
$yum groupremove "KDE (K Desktop Environment)" # KDE

$vi /etc/inittab
# Default runlevel. The runlevels used by RHS are: 

# 0 - halt (Do NOT set initdefault to this)           --停机
# 1 - Single user mode            --单用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)           --多用户模式,不支持NFS
# 3 - Full multiuser mode           --多用户模式     
# 4 - unused           --没有使用 
# 5 - X11           --图形界面方式 
# 6 - reboot (Do NOT set initdefault to this)           --重新启动
# 
id:5:initdefault:      --默认运行等级是5

#直接把5改成3就可以

安装图形化界面,想要登录管理员的账号,检查yum命令能否使用

$yum grouplist

安装"GNOME Desktop"

$yum grouplist "GNOME Desktop"

安装完成以后呢,直接键入startx进入图形化界面。
然而我们要方便一点,每次开机都进入图形化界面的化,就需要特地设置一下了

# 命令行改为图形界面模式
$systemctl set-default graphical.target
# 图形界面模式改为命令行模式
$systemctl set-default multi-user.target
# 查看当前启动模式
$systemctl get-default

至此,第一次上机的内容就结束了。

进一步学习Linux

对我个人来说,我是一个不折不扣的颜控,我装了国产最新的优麒麟系统,真是不错哦,感觉非常丝滑【最新版最近十月已经更新传送门

BASH

在开始学习之前需要知道的事情
  • 当你发现linux和windows相差实在是过大时:各种快捷键无法使用,vim编辑器不会剪切,我们先学习一下BASH的快捷键
    • ctrl+U,剪切光标之前的命令
    • ctrl+Y,粘贴上面命令
    • ctrl+R,在历史命令中搜索
    • ctrl+D,退出当前终端
提高用户权限

在你好不容易写完一个shell以后保存退出发现权限不够,是不是很讨厌啊,这就来告诉你怎么提高自己的用户权限

  1. 切换root
  2. 修改/etc/sudoers文件,找到一行为
## ...
root ALL=(ALL) ALL
yourusername ALL=(ALL) ALL # 添加用户
  1. 保存,此时你的用户就可以使用sudo命令
## 示例操作
$ sudo chmod a+x+w xx.sh
输入输出
  1. 键盘/dev/stdin(标准输入)
  2. 显示器/dev/sdtout(标准输出)
变量设定规则

需要知道的规则:

  1. 变量赋值等号两边不能加空格
  2. 变量值有空格需要用单/双引号包围
  3. 赋值单引号只能保证一般字符,而双引号可以保证特殊字符
  4. 使用\将特殊符号变成一般字符
  5. 环境变量大写
重定向

输入重定向
此处省略

输出重定向
改变原来的输出方向,比如把原来需要显示的数据保存到文件中去

  1. 标准输出重定向:命令>文件;命令>>文件(只能保存无报错信息除非2>或者2>),将命令输出结果保存到指定文件中
  2. 真正保存的方法,将命令和错误结果都保存(:可以过滤某些无意义的输出
    命令 > 文件 2>&1覆盖
    命令 >> 文件 2>&1追加
    命令 &> 文件名
    命令 &>> 文件名

把正确的输出追加到文件1,把错误的输出追加到文件2
命令>>文件1 2>>文件2

多命令顺序执行

;只是分隔两个命令
&& 只有当命令1执行了后面的命令才会执行
|| 有一个命令执行都行

管道符

例如grep:
-i忽略大小写
-n输出行号
-v反向查找
--color=auto搜索出关键字用颜色显示

$ netstat -an | grep xx # 先查找所有的网络连接,然后将输出作为输入放到搜索的内容
通配符
通配符作用
?匹配一个任意字符
*all
[]匹配括号内任意一个字符
[-]-代表一个范围
[^]^取反
字符串拼接

varname="$varname"

应用:环境变量叠加:"$PATH":newpath

变量
  1. 环境变量
  2. 位置参数变量
$n|n为数字,$0代表命令本身,$1-$9代表第一个到第九个参数,十个以上的参数就要用大括号包含,${10}
$*	?
$@	?
$#	?
数组
$ vararray[1]="haha"
$ echo "${vararray[1]}"#打印
当你觉得你需要输入的指令太长的时候
$ alias lm='ls -a|more' # 将后面的指令用另一个自定义指令存
$ unalias lm # 取消设置的别名
查看历史记录
$ history  #全部指令
$ history n # n是数字,打印最近的n个历史记录
大部分常用
optiondesc
${v#key}从头开始的数据符合【key】,删除最短数据
${v##key},删除最长数据
${v%key}从尾向前的数据符合【key】,删除最短数据
${v%%key},删除最长数据
${v/old/new}符合【oldString】则【第一个oldString会被newString取代】
${v//old/new}符合【oldString】则【全部oldString会被newString取代】
alias
type
cp
echo
unset
env
* HOME
* SHELL
* HISTSIZE
* MAIL
* PATH
* LANG
* RANDOM
set
export
locale
cat
read
declare
ulimit
dd
history
source
数据流重导向
cut
grep
sort
wc
uniq
tee
tr
col
join
paste
expand
split
xargs
id
find
mkdir
grep进阶
sed
nl
printf
awk
diff
patch
pr 

以下为更新前内容,多为操作介绍

Linux系统的一般性操作

建议Ctrl+F搜索一下关键字,如果没有,即可退出
一般命令格式:
命令 选项 参数1 参数2

主要目录说明

目录内容
/bin命令
/var软件
/tmp零食目录
/usr用户目录

系统指令:
shutdown -h now 关机
shutdown -r now 或者 reboot重启 【注:now 可以替换成为时间】
ls -l / 查看目录【注:/boot 启动目录 】
uname查看系统名称
uname -a查看版本信息
ip addr查看ip地址
ls [-al] 名称
cd [目录名称]
pwd 查看当前目录
mkdir [-p] 目录名称【参数-p创建系列目录 】
rmdir [-p] 目录名称【目录非空不能删除 】
clear清除界面
cd 切换目录
root su普通用户到
su 用户名root到普通用户
touch 文件名.类型
cat查看文件内容参数-n表示行号
more文件名表示一点一点输出文件内容
less 可以按照上下上下移动
head表示显示前面几行
tail表示显示最后几行
cat 则是全部
cp [-r]来源文件a b c -t 目标文件 复制【注:参数-t表示统一复制参数-r可以复制有文件的文件夹到另一个文件夹】
mv来源文件 目标文件 剪切

删除文件:
rm 目标文件
-f 表示直接删除
-r 可以删除目录一个一个询问删除
-rf表示直接删除目录

关于vim操作:

  • 命令模式下输入:
    a进入编辑模式
    esc退出
    h j kl左下上右
    a i o后 前 当前行之下
    A I O行末 行首 上一行插入
    dd剪切当前行
    yy复制
    p下一行粘贴
    P上一行粘贴
  • 最后行模式:
    :w保存
    :wq保存退出
    :q!不保存退出
    /a表示匹配a
    :set nu表示增加行号

查找文件:

  • 查找命令 which
  • 查找文件 whereis 在特定目录
  • find 指定路径 [-name/user/size]参数
  • 不确定名称时’不确定的名称用*替换’
  • 表示任意字符
  • 的个数表示模糊的字符
  • -name 表示查找文件
  • -user+用户名
  • 表示被某个用户创建的文件
  • find 速度最慢但是最强大

用户管理命令:

  • 查看目前用户
  • who
  • 创建用户
  • useradd [-g群组] 用户名
  • 设置密码
  • passwd 用户名
  • 删除用户
  • userdel [-r] 用户名-r会删除用户名的文件夹】
  • 查看群组
  • groups [用户名]
  • 创建群组
  • groupadd 群组名
  • 删除文件
  • groupdel 群组名
  • 用户群组修改
  • usermod [-g群组名] 用户名
  • 查看用户pid进程
  • ps -u 用户名
  • 删除用户pid
  • kill pid的值
  • 彻底杀死pid进程
  • kill -9 pid的值
  • 权限的作用
  • r 读权限 w写权限
  • x 执行权限

修改文件或者目录的权限

  • 修改所有者
  • chown [-R] 用户名 文件或者目录
  • 修改所有者和组
  • chown [-R] 用户名:组名 文件或者目录
  • 修改所属组
  • chgrp [-R] 组名 文件或者目录
  • 权限修改
  • chmod [-R] xyz 文件或者目录
  • x所有者权限
  • y所属组
  • z其他用户
  • r:4 w:2 x:1
  • 可以用上面数字代替权限
  • x角色 u g o a代表所有者 所属组
  • 其他用户、所有角色
  • y设置 + - = 增加减少设置
  • z权限 rwx
  • -R参数表示目录递归修改权限

压缩和解压缩

  • tar 压缩文件
  • -c 压缩
  • t 查看内容
  • x解压缩
  • z 使用gzip方式
  • j 使用bzip2方式
  • J使用xz方式
  • v显示过程
  • f 制定压缩包名称

【注: 一般出纳室必须要-cvf/-tvf/xvf

比如压缩1.txt和2.txt到1.tar
tar -cvf 1.tar 1.txt 2.txt
解压
tar -xvf 1.tar
查看
tar -tvf 1.tar

源码包安装:

  1. 编译前配置./config
  2. 编译make
  3. 编译安装make install
    【注:make clean 删除上一次遗留的object】

rpm <–红帽开发的系统

  • rpm -i 安装
  • -v 显示详细信息
  • -h 显示进度
  • rpm -q 安装包 查询是否安装
  • rpm -qi 安装包 查询包信息
  • rpm -ql 安装包 查询安装位置
  • rpm -e 安装包 卸载安装包

yum安装管理rpm包

  • yum list 包 查询可以安装的软件包
  • yum [-y] install 软件包安装
  • -y表示自动回答yes
  • yum [-y] updata 软件包 更新软件包
  • yum [-y] remove 软件包 卸载安装包

注:复制粘贴快捷键

  • ctrl+shift+c
  • ctrl+shift+v

下载链接内内容:

  • curl -O 完整链接
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值