Ubuntu linux 快速入门

Ubuntu 16 linux 快速入门

安装经验
  • 装系统把boot分区独立出来,易于用工具来引导,boot分区200M可能会不够用,不够用时可以删除一些东西解决问题。

  • 对于安装linux 和ubuntu windows双系统,独立出来boot分区可以用windows 环境下工具easyBCD来引导

  • 双系统下重装ubuntu是选择引导挂在点注意选择boot分区,之前选择windows 的C盘导致进不了win7 ,最后通过格式化 C盘前的单独引导分区,然后重新引导进入windows,在windows环境下用easyBCD添加对ubuntu boot分区的引导才解决问题的。

  • 系统引导是一门学问,因该系统研究一下。这里先立下一个flag,有心情了来补全

基本知识篇

目录结构 参考 linux目录结构

  • /

    • bin 这一目录存放供所有用户完成基本维护任务的命令二进制文件,如cp、ls等
    • boot存放启动linux时用的一些核心文件,如内核,引导程序Grub等
    • cdrom不是所有Linux都有这个目录,字面看是CD-ROM
    • dev此目录包含所有系统设备文件,如CD-ROM,磁盘驱动器、调制解调器、内存等,MAKDEV
    • etc 系统和应用软件的配置文件目录
    • home存储普通用户文件,每个用户在home里面有个对应用户名
    • lib存放系统基本的共享链接库和内核模块,类似于Windows里的dll文件
    • lib6464位程序的库
    • lost+foundubuntu可能没有
    • media可移动设备的挂载点,U盘等
    • mnt临时用于挂载文件系统的地方,在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了
      自动挂载分区
    • opt多数第三方软件默认安装到此位置
    • proc它是存在于内存的虚拟文件系统,保存了内核和进程的状态信息。多为文本文件,可以直接查看。如/proc/cpuinfo保存了有关CPU的信息。
    • root 这是根用户的主目录
    • run“
    • sbin供超级用户使用的可执行文件,里面多是系统管理命令,如fsck, reboot, shutdown,ifconfig

    • snap

    • srv
    • sys
    • tmp
    • usr静态的用户级应用程序等
      • bin 多数日常应用程序存放的位置。如果/usr被放在单独的分区中,Linux的单用户模式不能访问/usr/bin,所以对系统至关重要的程序不应放在此文件夹中。
      • include 存放C/C++头文件的目录
      • lib系统的库文件
      • local 可以用于存放个人安装的软件。安装了本地软件的/usr/local里的目录结构与/usr相似
      • sbin在单用户模式中不用的系统管理程序,如apache2等
      • share与架构无关的数据。多数软件安装在此。
      • src 源代码
    • var动态的程序数据等
      • cache应用程序的缓存文件
      • lib应用程序的信息、数据。如数据库的数据等都存放在此文件夹。
      • local/usr/local中程序的信息、数据
      • lock锁文件
      • log日志文件
      • opt/opt中程序的信息、数据
      • run正在执行着的程序的信息,如PID文件应存放于此
      • spool存放程序的假脱机数据(即spool data)
      • tmp临时文件

路径

> /$ #根目录
> ~$ #当前用户家目录,普通用户是/home/用户名目录/,root用户是/root/目录
> /$ ls ~/.ssh/ # 灵活使用~和/会很方便
> ~$ ./run.sh #运行可执行文件应该明确指定路径

常用基本命令

 man commname # 查看man 文档,如 man cd 
 ls # list short显示目录内信息,dir命令类似,dir兼容cmd
 ll # list long显示目录内详细信息
 pwd # 当前所在目录,兼容cmd
 clear # 清屏,cmd中是 cls
 cd ~ # 进入到某个目录,兼容cmd
 rm file.txt # 删除某个文件
 rm -r directory #删除某文件夹,以及子文件/夹 
 vi filename # vi编辑器
 echo "hello bash" # 打印一段文本,兼容cmd ,兼容 php
 cat file # 显示文件内容,不论什么类型,cmd 里面是 type,功能相同
 命令 >/>>/1>/2>/1>>/2>> fileName # 输出重定向,>表示写入文件,>>表示追加写入文件,1代表正确命令输出信息,2表示错误命令信息,由重定向和cat命令可实现复制文件,合并文件
 echo >/>>fileName <<EOF  成段文本 EOF # 另一种重定向,把成段文本输入到文件里,第二个EOF应带独占一行
 mkdir -p dirName # 创建文件夹,必要时创建父文件夹
 touch filename # 创建文件,更新文件信息等,不常用,因为 vi、重定向可以创建文件
 history num # 查看历史命令
 mv fila filb # 移动文件,或重命名
 cp file filepath # 复制文件
 which commandName # 查看命令所在的位置
 more # 分屏显示信息 如: man tree | more
 tar -cf archive.tar fil1 fil2 ... #创建压缩文件
 tar -xf archive.tar # 解压缩文件
 sudo # 以管理员权限执行
 sudo su # 进入管理员控制台
 reboot # 重启
 shutdown # 关机,于cmd 不同,没有 -r,-s 属性

权限 (参考Linux中的权限 )这个之前阿里笔试不会,就很伤

文件的基本权限

符号数字含义
r4具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。
w2具有修改文件的权限;对目录来说,具有删除移动目录内文件的权限。
x1具有执行文件的权限,前提是文件必须可执行;对目录来说,具有进入目录的权限。

文件访问者的分类

u表示所有者,g表示所有者所在的组,o表示其他人,a表示所有人。

+表示为用户增加文件权限,-表示取消用户的权限,=表示赋予用户这个权限

盗图

图片来自 Linux中的权限

文件类型:
“-”常规文件
“d”目录
“l”符号链接
“c”字符专门设备文件
“b”块专门设备文件
“p”先进先出
“s”套接字

权限相关命令示例

ll # 显示所有文件详细信息,包括权限
chmod (u/g/o/a +/-/= 权限名 )/(775) 文件名 # 更改文件的权限
chown chown [参数] 用户名 文件名  # 更改文件所有者

正则表达式相关
参考博客1 参考博客2

test='I love you all, my friends !' # test = 'ii' 是不行的,不能加空格
echo ${test} # 打印输出变量,同 echo $test
echo ${#test} # 打印字符串的长度
echo ${test:a:b} # 子串

进程调度相关

ps -e 命令查看进程
netstat -antup 命令查看网络端口
 kill  [进程号] 命令杀死进程
 pgrep  [进程名相关字符] 命令查看进程pid, 如 pgrep  firefox

自动挂载双系统中window分区到ubuntu指定目录下

#查看硬盘分区,可用如下两条命令
sudo  fdisk  -l
ls -al   /dev/disk/by-uuid

然后编辑/etc/fstab配置文件

下次开机后分区就挂载在了指定位置

其他相关资料:

vi编辑器使用专题
http://blog.csdn.net/xueziheng/article/details/2048054
shell 脚本控制语句
http://www.cnblogs.com/kzloser/archive/2012/09/10/2677283.html

====== 2017年11月20日补充

在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux 那繁多的命令行操作真是件不容易的事。

在 Linux 中,增加用户或改变用户的组属性可以使用 useradd 或者 usermod 命令。useradd 增加一个新用户或者更新默认新用户信息。usermod 则是更改用户帐户属性,例如将其添加到一个已有的组中。

在 Linux 用户系统中存在两类组。第一类是主要用户组,第二类是附加用户组。所有的用户帐户及相关信息都存储在 /etc/passwd 文件中,/etc/shadow 和 /etc/group 文件存储了用户信息。

新增加一个用户并将其列入一个已有的用户组中需要用到 useradd 命令。如果还没有这个用户组,可以先创建该用户组。
命令参数如下:

useradd -G {group-name} username

例如,我们要创建一个新用户 cnzhx 并将其添加到用户组 developers 中。首先需要以 root 用户身份登录到系统中。先确认一下是否存在 developers 这个用户组,在命令行输入:

 grep developers /etc/group
 ```
输出类似于:

developers:x:1124:

如果看不到任何输出,那么就需要先创建这个用户组了,使用 groupadd 命令:

groupadd developers

然后创建用户 cnzhx 并将其加入到 developers 用户组:

useradd -G developers cnzhx
“`
为用户 cnzhx 设置密码:

 passwd cnzhx

为确保已经将该用户正确的添加到 developers 用户组中,可以查看该用户的属性,使用 id 命令:

 id cnzhx

输出类似于:

uid=1122(cnzhx) gid=1125(cnzhx) groups=1125(cnzhx),1124(developers)

前面命令中用到的大写的 G (-G) 参数就是为了将用户添加到一个附加用户组中,而同时还会为此用户创建一个属于他自己的新组 cnzhx。如果要将该用户同时增加到多个附加用户组中,可以使用英文半角的逗号来分隔多个附加组名(不要加空格)。例如,同时将 cnzhx 增加到 admins, ftp, www, 和 developers 用户组中,可以输入以下命令:

useradd -G admins,ftp,www,developers cnzhx
useradd 示例 – 增加一个新用户到主要用户组

要增加用户 cnzhx 到组 developers,可以使用下面的指令:

 useradd -g developers cnzhx
id cnzhx

输出类似于:

uid=1123(cnzhx) gid=1124(developers) groups=1124(developers)

请注意如前面的示例的区别,这里使用了小写字母 g (-g)作为参数,此时用户的主要用户组不再是 cnzhx 而直接就是 developers。

小写字母 g (-g)将新增加的用户初始化为指定为登录组(主要用户组)。此组名必须已经存在。组号(gid)即是此已有组的组号。

usermod 示例 – 将一个已有用户增加到一个已有用户组中

将一个已有用户 cnzhx 增加到一个已有用户组 apache 中,使此用户组成为该用户的附加用户组,可以使用带 -a 参数的 usermod 指令。-a 代表 append, 也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与 -G 选项配合使用:

usermod -a -G apache cnzhx

如果要同时将 cnzhx 的主要用户组改为 apache,则直接使用 -g 选项:

 usermod -g apache cnzhx

如果要将一个用户从某个组中删除,则

gpasswd -d user group

但是这个时候需要保证 group 不是 user 的主组。

附:管理用户(user)和用户组(group)的相关工具或命令¶

1)管理用户(user)的工具或命令

useradd    注:添加用户
adduser    注:添加用户
passwd     注:为用户设置密码
usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov      注:同步用户从/etc/passwd 到/etc/shadow
pwck       注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv   注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger     注:查看用户信息工具
id         注:查看用户的UID、GID及所归属的用户组
chfn       注:更改用户信息工具
su         注:用户切换工具
sudo       注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo     注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit   注:和sudo 功能差不多;

2)管理用户组(group)的工具或命令

groupadd    注:添加用户组;
groupdel    注:删除用户组;
groupmod    注:修改用户组信息
groups      注:显示用户所属的用户组
grpck
grpconv     注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

将一个用户添加到某个组,即可让此用户拥有该组的权限。比如在配置 VPS 上的 LAMP 服务器的时候,运行网站的 apache 用户修改的文件,如果服务器管理用户 cnzhx(可以通过 ssh 登录到服务器)需要修改此文件的话,就可以将 cnzhx 加入到 apache 组中达到目的。

用户组部分转载自:水景一页

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值