一、软件源维护

1. 基本操作

(1)查看源列表

sudo vim /etc/apt/sources.list
  • deb:二进制软件安装包
  • deb-src:源码包

(2)备份软件源列表

sudo cp /etc/apt/source.list /etc/apt/backup_source.list

(3)更新源

sudo apt-get update

(4)升级源

sudo apt-get upgrade

(5)通过关键字查找安装包

sudo apt-cache search [软件名]

(6)安装软件

sudo apt-get install [软件名]

(7)卸载软件

sudo apt-get remove [软件名]

(8)升级软件

sudo apt-get -u install [软件名]

(9)从指定网址下载deb包

wget [网址/xxx.deb]

2. 常见问题:通过终端安装程序sudo apt-get install xxx时出错

错误提示:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it

错误原因:

  • 可能是有另外一个程序正在运行,导致资源被锁不可用。
  • 资源被锁的原因可能是上次运行安装或更新时没有正常完成。

解决:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

二、Linux权限管理

1. 文件权限

(1)查看权限

ls -l

(2)9bit:权限管理相关

图片来源:Linux及安全——Linux基础实践

  • 文件类型

    • “-”表示普通文件。
    • “d”表示目录文件。
    • “l”表示链接文件。
    • “c”表示字符设备。
    • “b”表示块设备。
    • “p”表示命名管道,比如FIFO文件(先进先出)。
    • “f”表示堆栈文件,比如LIFO(后进先出)。
    • “s”表示套接字。
  • 属主权限:文件拥有者(u)对该文件的权限。
  • 属组权限:文件用户组(g)对该文件的权限。
  • 其它用户权限:系统其他用户(o)对该文件的权限。

(3)更改文件权限方法一

chmod [对象] [操作] [权限] [文件/目录名]
  • 对象:

    • u:表示文件所有者
    • g:表示同组用户
    • o:表示其它用户
    • a:表示所有用户
  • 操作:
    • +:添加某个权限
    • -:取消某个权限
    • =:赋予给定的权限,并取消原有的权限
  • 权限:
    • r:可读
    • w:可写
    • x:可执行

(4)更改文件权限方法二

chmod [_ _ _] [文件/目录名]
  • 将 r w x 看成二进制数,如果有则有1表示,没有则有0表示
  • 例:文件权限为最高权限 rwx rwx rwx,二进制表示为 111 111 111,换算后为 777,所以命令为 chmod 777 [文件/目录名]

(5)改变文件拥有者和群组

chown [选项] [所有者]:[组] [文件]
  • 选项

    • -c 显示更改的部分的信息
    • -f 忽略错误信息
    • -h 修复符号链接
    • -R 处理指定目录以及其子目录下的所有文件
    • -v 显示详细的处理信息
    • -deference 作用于符号链接的指向,而不是链接文件本身

2. 用户与用户组

(1)切换到root

sudo su

(2)切换到其它用户

su [用户名]

(3)创建用户

adduser [用户名]
useradd [用户名]
  • 在root权限下,useradd只是创建了一个用户名,它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的。
  • 可以用 useradd -m [用户名] 的方式创建,它会在/home目录下创建同名文件夹,然后用 passwd [用户名] 为指定的用户名设置密码。
  • adduser创建新用户会在/home目录下会自动创建同名文件夹。
  • 系统会在 /etc/passwd 文件中增添了一行记录。

(4)删除用户

adddel

(5)创建用户组

groupadd [组名]

(6)查看用户组

grep [组名] /etc/group

(7)删除用户组

groupdel [组名]

(8)修改用户组

sudo usermod -g [用户] [用户组]
  • 如果用户已经是其他组的成员,需要添加 -a 这个选项

3. 开机脚本

(1)修改开机脚本

sudo vim /etc/init/rc-sysinit.conf
  • 其中有一行 env DEFAULT_RUNLEVEL指系统当前启动后运行级别

(2)Ubuntu的runlevel级别定义

0 – Halt,关机模式。不能将系统缺省运行级别设置为0,否则无法启动。
1 – Single,单用户模式。
2 - Full multi-user with display manager (GUI)。
3 - Full multi-user with display manager (GUI)。
4 - Full multi-user with display manager (GUI)。
5 - Full multi-user with display manager (GUI)。
6 – Reboot,重启。不能将系统缺省运行级别设置为6,否则会一直重启。
  • 2~5级是没有任何区别的。他们为多用户模式

(3)开机脚本使用原理

  • init进程就会读取这个系统运行级别设置,然后运行 /etc/rc.d/rc 脚本。
  • 通过这个脚本,然后进入rcx.d。启动相应的程序。其中 rcx.d为/etc/rc.d/rcx.d(x为对应的系统运行级别)。
  • /etc/rc.d/rcx.d/ 下的文件均为符号链接,最终绝大部分都是都是链接到 /etc/rc.d/init.d 下面。
  • /etc/rc.d/init.d 目录下面的都是开启启动脚本文件,用来启动相应的程序。
  • 在rcN.d中,对于以K开头的文件,系统将终止对应的服务;对于以S开头的文件,系统将启动对应的服务。

(4)修改某开机启动服务为开机终止服务

sudo mv Sxxgdm Kxxgdm

(5)删除某开机自启动文件

sudo update-rc.d –f xxx remove(其中xxx是文件名中除了S和K以外的非数字部分)

(6)写一个开机脚本并添加

  • 在/etc/init.d文件夹下编写一个新的脚本文件xx.sh
  • sudo chmod 给脚本文档设置权限。
  • 将脚本的路径写入 /etc/init.d/rc.local中。
  • sudo update-rc.d xx.sh defaults [启动顺序]

4. 环境变量

  • PATH决定了shell将到哪些目录中寻找命令或程序。

(1)临时修改环境变量

export PATH=$PATH:[目录]
  • 每当登出或注销系统以后,PATH 设置就会失效

(2)修改环境变量

vim /etc/profile
  • 在文件中添加PATH="目录:$PATH"
source /etc/profile
  • 新PATH立即生效

5. 常见问题:新建用户后,新用户无法使用sudo的解决方法

错误提示:

xxx is not in the sudoers file.This incident will be reported.

错误原因:

  • 执行sudo命令的用户不在sudoers文件的列表中。

解决方法:

  • 在原用户中切换到root下:

      sudo su
  • 添加sudo文件的写权限:

      chmod u+w /etc/sudoers
  • 编辑/etc/sudoers文件:

    找到 root ALL=(ALL) ALL

    在下面添加 [新用户名] ALL=(ALL) ALL

  • 退出的时候撤销sudoers文件写权限

    chmod u-w /etc/sudoers


参考资料

参考资料1:Linux及安全——Linux基础实践

参考资料2:实践一:Linux基础实践

参考资料3:deb包构建手册

参考资料4:ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决

参考资料5:每天一个linux命令目录

参考资料6:深入理解linux下rc.d/目录文件以及程序开机自启动

参考资料7:xxx is not in the sudoers file.This incident will be reported.的解决方法

Linux课程实践一:Linux基础实践(基础操作)的更多相关文章

  1. 尚学linux课程---4、linux网络配置及linux文件

    尚学linux课程---4.linux网络配置及linux文件 一.总结 一句话总结: linux下的etc目录是配置文件的目录,所以很多的文件配置操作都可以看到它的身影:比如 init系列命名,比如 ...

  2. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  3. Linux课程---8、Linux启动流程

    Linux课程---8.Linux启动流程 一.总结 一句话总结: grub启动引导界面(比如装了多系统,选择系统),找到linux内核 启动init程序,加载各种驱动 1.进入grub界面选择相应的 ...

  4. Linux课程---4、Linux目录结构及常用命令(目录结构)

    Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...

  5. Linux课程---3、Linux远程登录和传输(操作Linux服务器软件)

    Linux课程---3.Linux远程登录和传输(操作Linux服务器软件) 一.总结 一句话总结: xshell:Xshell是一个强大的安全终端模拟软件 Xshell是一个强大的安全终端模拟软件, ...

  6. Linux课程---2、Linux下最常用命令(查看帮助命令)

    Linux课程---2.Linux下最常用命令(查看帮助命令) 一.总结 一句话总结: man 1.显示文件? ls:ls带其它参数详情可以man ls man ls:比如 ls -a显示隐藏文件,l ...

  7. 尚学linux课程---10、linux环境下安装python

    尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...

  8. 尚学linux课程---7、linux系统管理命令

    尚学linux课程---7.linux系统管理命令 一.总结 一句话总结: 查网络:netstat -ntpl 查进程:ps 1.需要下载163yum源(从外部源同步仓库)里面的所有rpm文件? re ...

  9. 尚学linux课程---6、linux命令介绍

    尚学linux课程---6.linux命令介绍 一.总结 一句话总结: linux中命令的一般格式:命令关键字 选项 参数1 参数2 1.linux基本原则? 一切皆文件 配置文件保存为纯文本格式 2 ...

  10. 尚学linux课程---5、linux操作系统介绍

    尚学linux课程---5.linux操作系统介绍 一.总结 一句话总结: centos开源免费,用的特别多 1.库是什么意思? 没有执行入口的应用程序 2.linux和window下的动态库文件是什 ...

随机推荐

  1. dataWithContentsOfURL报错问题

    NSError *error = nil; NSData* videoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:self.re ...

  2. Opencv结构与内容

    一.Opencv的结构分类: cxcore.cv.ML(Machine Learning).HighGUI.cvcam.cvaux 二.常见结构的内容与算法: 1.cxcore库(基本结构和算法.XM ...

  3. 【转载】基于ANSYS APDL的有裂纹平板问题的断裂力学仿真(PLANE183)

    原文地址:http://blog.sina.com.cn/s/blog_9e19c10b0102vnw7.html 对于一般的强度问题,我们总是用应力来度量其强度的.但是对于有裂纹的,高强度的构件,使 ...

  4. iwork 09 可以用的序列号

    E4RJ-YKHP-9ER4-WK9Y-H4UM-5S2G9MU-9U9J-KN4M-4PAE-DYNA-5S2EGMU-3PKP-NN9G-3JW4-3RAD-5S2

  5. Deleting backup_label on restore will corrupt your database!

    The quick summary of this issue is that the backup_label file is an integral part of your database c ...

  6. Android画图Path的使用

    /**       * Paint类介绍       *        * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色,       * 样式等绘制信息,指定了如何绘制文本 ...

  7. CSS之利用text-indent隐藏文字用图片当Login

    html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  8. Nginx日志常用分析命令汇总 (转)

    三.常用日志分析命令 1.总请求数 1 wc -l access.log |awk '{print $1}' 2.独立IP数 1 awk '{print $1}' access.log|sort |u ...

  9. C#特性学习笔记二

    实例探讨: 自定义了一个特性类: [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method)] class WahAttribute ...

  10. Unity2D多分辨率屏幕适配方案(转载)

    一下内容转自:http://imgtec.eetrend.com/forum/3992 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有 ...