20.创建新用户忘记使用-m选项,则不会在home目录中创建新用户的目录,最简单的方法是使用userdel删除新用户重新创建,没有目录虽然老手可以操作,但是时间长了,你记不住里面有什么文件,造成操作难度;/etc/passwd文件存放的是用户信息,由6个分号组成7个信息,分别是:1用户名2密码(x.表示加密的密码)3UID4GID5用户全名或本地账号6家目录7登录使用的shell,就是登录之后使用的终端命令,ubuntu默认(其他用户)使用的是dash,主用户使用的是bash;两者的区别就是shell里面的快捷命令和命令显示有区别,比如显示信息的颜色区别,快捷命令不能使用等,需要用sudo usermod -s /bin/bash 用户名 用上面的命令即可实现dash和bash之间的转变,方便管理和区别(增加/bin/bash的绝对路径),注意:重新登录后生效。 21.usermod,可以用来设置用户的 主组/附加组 和登录shell,命令格式如下: 主组:通常在新建用户时指定,在etc/passwd的第四列GID对应的组。 附加组:在etc/group 中最后一列表示该组的用户列表,用于指定用户的附加权限;设置用户的附加组之后,需要重新登录才能生效。注意:默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中:usermod -G sudo 用户名,注意:重新登录才能生效。 22.linux中绝大多可执行文件是存放在/bin,/sbin,/usr/bin,/usr/sbin文件中,bin(binary)是二进制可执行文件目录,主要用于具体应用,sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理;/usr/bin(user commands for applications)后期安装的一些软件;/usr/sbin/(super user commands for applications)超级用户的一些管理程序;cd这个命令是内置在系统内核中的(和系统代码写在一起的),没有独立的文件,因此用which是无法找到cd的位置,其他都可以。 23.su切换用户,这个概念在linux和unix中大家都很熟悉,没玩过的也不要紧,windows里面的guest和system你理解了也是一样的。在不同的用户下面做不同的操作,目的只是为了分组管理,不影响相互的操作,切换方式比较简单:su+用户名即可,要把目录也切换就用su - 用户名即可;注意:新的用户必须要有密码,另外在新的用户下面操作输入exit即注销,直接切换回主用户的家目录下面,su后面不接用户名,直接进到root,在root里面操作就不需要sudo命令,这种操作非常危险,所以不建议使用,另外在新的设备上最好提前设置没有关联的root密码,不设置密码的话在别人设置root密码之后就只能任人宰割,除非你重新装系统,那样的话损失巨大。 24.查看系统状态的命令有date、cal -y、df -h、du -h、ps aux、top、kill等;使用kill命令,最好只终止当前用户的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃;要退出top可以直接退出,用小写字母q。 25.linux中文件名和文件的数据是分开存储的,硬链接和软链接可以很详细的说明其中的情况,我个人理解:软链接-绝对路径对应的文件,硬链接-文件的副本;在linux中,只有文件的硬链接数=0,文件才会被删除,使用ls -l可以查看一个文件的硬链接数量,一般工作中不会建立硬链接,明白原理即可。 26.打包和压缩这块,linux和windows中的rar和mac中的zip有一点区别,linux中是tar.gz;tar是linux最常用的备份工具,此命令可以把一系列文件打包成一个文件,也可以把打包的大文件恢复成一系列小文件,方便文件传输;tar命令用的选项c-生成档案文件,创建打包文件;x-解开档案文件;v-列出归档解档的详细过程,显示进度;f-指定档案文件名称,f后面一定是.tar文件,所以必须放选项后面;f选项必须放在最后,其他选项可以随意顺序;终端中使用命令tar -cvf 打包文件.tar 被打包的文件/路径 来打包,用tar -xvf 打包文件.tar 来解包;tar与gzip结合使用实现文件的打包和压缩,Linux中常见的压缩文件格式为:xxx.tar.gz,在tar命令中有一个选项-z可以调用gzip,从而可以方便的实现压缩和解压缩的功能。 27.linux中的安装包管理工具apt(advanced packaging tool)可以在终端中方便的安装/卸载/更新软件包,安装软件sudo apt install 软件包名称;卸载软件:sudo apt remove 软件名;更新已安装的包,sudo apt upgrade。 28.linux的软件源就是主服务器,在国外,但是他会有很多镜像源,这些是在国内,镜像源上面的软件和国外的主服务器上面的软件是一致的;我们下载软件可以通过设置镜像源选择一个网速最快的服务器来下载/安装软件服务。 创建新用户 useradd -m -g 组 新建用户名 添加新用户 " -m 自动建立新用户的目录 -g 指定新用户的组,否则会创建同名的组" passwd 用户名 设置用户密码 如果是普通用户,用password直接修改就可以 sudo useradd -m -g dev wen 增加带有dev组目录的wen用户 sudo passwd wen 设置用户密码,enter后写入即可 userdel -r 用户名 -r 自动删除用户家目录 cat/etc/passwd | grep 用户名 新建用户后,用户信息会自动保存在/etc/passwd文件中 查看用户信息 id 用户名 "显示用户信息,有UID和GID user id和group id" "验证:cat -n /etc/passwd | grep wen cat -n /etc/group | grep wen" user id 和 group id分别保存在/etc/passwd和/etc/group文件中 who 查看当前所有登录用户列表 whoami 可以查看其它用户登录信息 查看当前登录用户的账户名 usermod 适用于修改用户的主组,附加组,shell usermod -g 组 用户名 修改主组 usermod -G 组 用户名 修改附加组 usermod -s /bin/bash 修改shell eg:sudo usermod -G sudo wen 验证:cat -n /etc/group | grep wen 在主用户下增加wen用户的sudo附加组,注意:重新登录才能生效 shell 输入终端命令的窗口 eg:sudo usermod -s /bin/bash wen 将wen的shell变更为bash的shell,包含用户、用户名、机器名、快捷命令、文件显示特性等功能。 which 查看执行命令所在的位置 /etc/passwd 保存用户信息的文件,是文本文件 /usr/bin/passwd 用于修改用户密码的程序,是保存在/usr/bin/passwd下面的程序 which passwd 查看password存放的路径,只是文本信息,不能执行 ls -l /usr/bin/passwd 查看存放密码的文件信息,路径里面包含rwx,路径用红色显示,表示可执行 which useradd 显示路径为/usr/sbin/useradd ls -l /usr/sbin/useradd su 切换用户 修改文件权限 chown change owner 修改拥有者 chgrp change group 修改组 chmod change mode 修改权限 eg:chown 拥有者用户名 文件名|目录名 eg:chgrp -R 组名 文件/目录名 sudo chown wen 56.py/ 修改tom用户下的56.py文件为wen用户的文件 sudo chown wen /home/python/Desktop/56.py chomd数字表示法 chomd在设置权限时,可以简单的使用三个数字分别表示对应的 拥有者/组 和 其他用户的权限 chomd +/-rwx 文件名|目录名 拥有者 组 其他 "r---------4 可读权限 w---------2 可写权限 x----------1 可执行权限" "r---------4 可读权限 w---------2 可写权限 x----------1 可执行权限" "r---------4 可读权限 w---------2 可写权限 x----------1 可执行权限" "4+2+1=7 可读可写 4+2+0=6 可读可写 4+0+1=5 可读可执行不可写 0+2+1=3 可执行不可读不可写 0+2+0=2 可写,不可读不可执行 0+0+1 可执行,不可读不可写" "u 拥有者 g 组 0 其他用户" "4+2+1=7 可读可写 4+2+0=6 可读可写 4+0+1=5 可读可执行不可写 0+2+1=3 可执行不可读不可写 0+2+0=2 可写,不可读不可执行 0+0+1 可执行,不可读不可写" eg:chmod -R 755 文件名|目录名 -R 递归修改权限 chmod 754 56.py chmod 640 123.txt chmod -R 775 test 修改test目录 系统信息相关命令 时间和日期 "date cal------calender 日历" 磁盘和目录空间 "df du" 进程信息 "ps top kill" process status查看进程的详细状况 cst 可视为美国、澳大利亚、古巴或中国的标准时间 中部标准时间 cal -y 查看一年日历 df disk free 显示磁盘剩余空间 du disk usage 显示目录下的文件大小 df -h -h 以人性化的方式显示文件大小 du -h [目录名] 不接目录名表示查看当前目录的情况 -h 以人性化的方式显示文件大小 进程信息 进程是指当前正在执行的一个程序 ps aux ps 默认只会显示当前用户通过终端启动的应用程序 "a 显示终端上的所有进程,包括其他用户的进程 u 显示进程的详细状态 x 显示没有控制终端的进程" top: 主要参数 d:指定更新的间隔,以秒计算。 q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称。 S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数,完成后将会退出to 显示参数: PID(Process ID):进程标示号。 USER:进程所有者的用户名。 PR:进程的优先级别。 NI:进程的优先级别数值。 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值。 SHR:进程使用的共享内存值。 S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU时间。 Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。 top命令 《空格》:立刻刷新。 P:根据CPU使用大小进行排序。 T:根据时间、累计时间排序。 q:退出top命令。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。 Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为:  文件系统              容量 已用 可用 已用% 挂载点  "Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494M 19M 450M 4% /boot /dev/hda6 4.9G 2.2G 2.5G 47% /home /dev/hda5 9.7G 2.9G 6.4G 31% /opt none 1009M 0 1009M 0% /dev/shm /dev/hda3 9.7G 7.2G 2.1G 78% /usr/local /dev/hdb2 75G 75G 0 100% / /dev/hdb2 75G 75G 0 100% /" 以上面的输出为例,表示的意思为: HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%,被挂载到根分区目录上(/)。 下面是相关命令的解释: df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 du -sh [目录名] 返回该目录的大小 du -sm [文件夹] 返回该文件夹总M数 更多功能可以输入一下命令查看: df --help du --help 查看硬盘的分区 #sudo fdisk -l 查看IDE硬盘信息 #sudo hdparm -i /dev/hda 查看STAT硬盘信息 #sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id 查看硬盘剩余空间 #df -h #df -H 查看目录占用空间 #du -hs 目录名 U盘没法卸载 #sync fuser -km /media/usbdisk kill 结束进程 kill PID(进程代号) kill -9 PID -9 强制执行 其他命令 find find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件 查找文件 ln 软链接,类似于windows下的快捷方式 tar 打包和压缩 apt-get 软件安装 find [路径] -name "文件名" "如果缺省路径,表示在当前文件夹下查找 之前学习的通配符.在使用find命令时同时可用" 查找指定路径下扩展名为.py的文件,包括子目录 eg:find /home/wen/Desktop/ -name "1" 查找wen用户的桌面文件中包含1的文件 find -name “*.txt” ln -s 被链接的源文件 链接文件(快捷方式的名称) "没有-s选项建立的是一个硬链接文件,硬链接就是创建一个占用相同硬盘空间大小的文件,类似于副本,可以是重命名 源文件要使用绝对路径,不能使用相对路径,这样方便移动链接文件后,仍然可以正常使用,其实就是说存放的地址必须要从home下找得到" 在什么目录下操作,则创建的快捷方式保存在什么目录下 ln -s /home/wen/dev/56.py xiangdui 用ls -l可以查看相对路径的表示 创建56.py的软链接为xiangdui ln /home/wen/dev/56.py xiangdui-1 创建56.py的硬链接为xiangdui-1 打包压缩 "windows-rar mac-zip linux-tar.gz" tar -cvf 打包文件名.tar 被打包的文件/路径 打包文件 tar -xvf 打包文件.tar 解包文件 tar -c 生成档案文件,创建打包文件 tar -x 解开档案文件 tar -v 列出归档解档的详细过程,显示进度 tar -f 指定档案文件名称,f后面一定是.tar文件,所以必须放在最后 rm -r * -r 可以删除文件夹 删除所有文件及文件夹 tar -cvf py.tar 123.txt a 366.txt 将123.txt a 366.txt三个文件打包成py.tar打包文件 tar -xvf py.tar 将py.tar打包文件解包 tar -zcvf 打包文件.tar.gz 被压缩的文件/路径 压缩文件 tar -zxvf 打包文件.tar.gz 解压文件 tar -zxvf 打包文件.tar.gz -C 目录路径 -C 解压到指定目录,注意:要解压缩的目录必须存在 解压缩到指定路径 tar -zcvf py.tar.gz /home/wen/Desktop/py.tar 将wen用户下桌面文件py.tar压缩成py.tar.gz mkdir gz 创建gz文件夹 mv py.tar.gz gz 移动py.tar.gz到gz文件夹 tar -zxvf py.tar.gz 解压缩py.tar.gz bzip2 2发音two bzip2和gzip压缩使用方法一样,将-z换成-j即可 tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径 压缩文件 tar -jxvf 打包文件.tar.bz2 解压文件 tar -jcvf py.tar.bz2 *.py 将所有的py文件压缩成py.tar.bz2 tar -jxvf py.tar.bz2 -C bz2 -C 解压到指定路径中,注意:要解压缩的目录必须存在 将压缩文件py.tar.bz2解压到bz2的文件夹中 软件安装 通过apt安装/卸载软件 sudo apt-get install sl 安装火车头提示 sudo apt-get install htop 安装彩色显示top信息