Linux

删除Ubuntu Linux操作系统旧内核的方法

使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。像我,竟然安装了下面那么多,这个造成了漫长的启动列表。必须删掉一些不用的。

首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。从中选择要卸载的包,用apt-get来卸载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[tc@ibm:~]$ dpkg –get-selections|grep linux
libselinux1 install
linux-386 install
linux-image-2.6.15-23-386 install
linux-image-2.6.15-27-386 install
linux-image-2.6.15-27-686 install
linux-image-2.6.15-28-386 install
linux-image-2.6.15-28-686 deinstall
linux-image-386 install
linux-kernel-headers install
linux-restricted-modules-2.6.15-23-386 install
linux-restricted-modules-2.6.15-27-386 install
linux-restricted-modules-2.6.15-27-686 install
linux-restricted-modules-2.6.15-28-386 install
linux-restricted-modules-2.6.15-28-686 deinstall
linux-restricted-modules-386 install
linux-restricted-modules-common install
linux-sound-base install
util-linux install

具体的卸载方法为

1
sudo apt-get remove linux-image-2.6.15-23-386

这样就可以实现自动删除内核文件了,还可以释放磁盘空间。

另外还要记录一个命令。

1
uname -a

使用这个命令可以查看当前系统使用的内核。

ubuntu学习笔记-查询系统

man 在线手册

  • man ls 查看ls命令的范例
  • /do 在文中查询”do”的数据
  • manpath 查询man文件位置
    find 查找文件
  • sudo find /etc -name passwd -print 在/etc下查找passwd文件,并输出屏幕上
  • sudo find / -name core -print -exec rm -rf {} ;查找到结果后,把找到的文件全部删除,{}表示找到文件 参数说明

  • -name 文件名称

  • -print 在屏幕输出
  • -amin 分钟(a表示access)
  • -atime 24小时数(a表示access)
  • -cmin 分钟 (c表示changes)
  • -ctime 24小时数 (c表示changes)
  • -user 所有者名称
  • -exec 找到结果后,接着执行指定程序,须以;结尾
  • -perm 指定权限,如-perm 600
  • -size 查找特定大小文件,如-size %2B1024c表示大于1024字节的文件,单位:b块、c字节、k千字节、w两字节
    locate 建立数据库,在数据库查找
  • locate student 查找以student开头的文件及目录
    whereis 在特定目录查找源代码、二进制、帮助文件 which 在环境变量$PATH指定目录中查找符合条件的文件 grep 在文件内搜索字符串或和正则表达式匹配的字符串
  • sudo grep -n ‘abc’ /etc/*.* 在/etc查找内容中含有abc的文件,并显示出行号
  • grep -v ‘abc’ file.txt 查找内容中不含abc的文件

ubuntu学习笔记-进程管理

ps 显示当前进程

  • ps -l 显示详细信息
  • ps -u 以用户的格式显示 相关字段说明

  • F 进程状态标志

  • S 进程状态代码
  • UID 进程执行者ID
  • PPID 父进程标识(parent process ID)
  • PRI 进程执行的优先级(priority)
  • NI 进程执行优先级的nice值,负值表示其优先级较高
  • SZ 进程占用的内存大小
  • WCHAN 进程或系统调用等待时的地址
  • %CPU cpu使用百分比
  • %MEM 内存使用百分比
  • VSZ 占用虚拟内存大小
  • RSS 占用物理内存大小
  • START 进程开始时间

kill 删除进程

  • kill pid 删除指定pid的进程
  • kill -l 查看所有可供传送的信号
  • kill -9 pid 强制删除进程,传送的是SIGKILL信号
  • kill -15 pid 强制删除进程,传送的是SIGTERM信号
  • kill -HUP pid 重启Deamon进程

free 查看内存使用状态

  • free -s 10 每10秒检查内存使用情况

nice 设置执行优先级,-20~19,19最低

  • sudo nice –2 vi 将vi的优先级调为-2

renice 修改执行优先级,-20~19,19最低 top 动态显示进程

  • 按”P”键 按CPU使用时间排序
  • 按”M”键 按内存使用多少排序
  • 按”T”键 按执行时间多少排序
  • 按”u”键 监视特定用户
  • 按”K”键 删除进程
  • top -d 10 指定更新时间

lsof -p 查看进程打开的文件 jobs 命令查看后台作业

ubuntu学习笔记-压缩安装

zip压缩文件

压缩成zip文件

  • zip file.zip * 压缩当前文件夹的所以文件
  • zip file.zip ACS.JPG blue.doc command.txt 将三个文件单独压缩进一个文件
  • zip -m file.zip * 压缩,并自动删除原始文件
  • zip -r file.zip * 压缩,包含子目录中的内容
  • zip -j file.zip * 压缩,忽略子目录中的内容
  • zip -k file.zip * 压缩,文件自动更名成8.3格式
  • zip -n .mpg: .JPG: .GIF file.zip * 压缩,但对.mpg/.JPG/.GIF文件不进行压缩而直接保存
  • zip -t 102207 file.zip * 压缩07-10-22以后以后建立的文件
  • zip file.zip * -x file2 file3 压缩,但不包含file2,file3文件
  • zip -y file.zip * 压缩链接
  • zip -1 file.zip * 压缩,压缩率为1,压缩率范围是1-9,9最高
  • zip -@ file.zip 逐一输入文件名,并对其压缩,输入完后按ctrl%2Bd结束 unzip 解压缩zip文件

  • unzip file.zip 解压缩file.zip文件

  • unzip file.zip -x file3 解压缩file.zip,排除file3文件
  • unzip -Z file.zip 查看压缩包的内容
  • unzip -l file.zip 查看压缩包的内容
  • unzip -v file.zip 查看压缩包的内容

tar与gzip

说明:tar无法对文件进行压缩,但可以把文件打包。而gzip虽然可以压缩文件,却不能把文件打包。所以我们经常把两个命令结合使用,产生.tar.gz的文件。一般压缩流程是先用tar打包,再用gzip压缩文件。
tar 打包/解包文件

  • tar cvf test.tar * 把当前目录下的文件打包,若有链接文件,直接将链接写入
  • tar zcvf test.tar.gz * 把当前目录下的文件打包并压缩为gz格式
  • tar jcvf test.tar.bz2 * 把当前目录下的文件打包并压缩为bz2格式
  • tar hcvf test.tar * 把当前目录下的文件打包,若有链接文件,直接将原始文件写入
  • tar rvf test.tar file2 把file2文件打包追加在test.tar
  • tar xvf test.tar 把test.tar解包
  • tar zxvf test.tar.gz 把test.tar.gz解压缩并解包
  • tar tvf test.tar 查看文件内容 gzip 压缩文件

  • gzip file1 压缩file1,并删除原始文件,这点务必要注意

  • gzip -1 * 压缩本目录所有文件,压缩率为1-9,9最高,默认6
  • gzip -d file1.gz 解压file1.gz文件 gunzip 解压文件

  • gunzip file1.gz 解压file1.gz文件

安装程序

gz压缩包编译安装 编译时缺少h文件的自动处理

sudo auto-apt run ./configure deb安装包

  • dpkg -i debfilename 安装Debian包裹文件
  • dpkg -c debfilename 列出包裹包含的内容
  • dpkg -I debfilename 从.deb 文件中提取包裹信息
  • dpkg -r packagename 卸载一个已安装的包裹(删掉数据和可执行文件)
  • dpkg -P packagename 完全清除一个已安装的包裹(删除数据、可执行文件和所有的配制文件)
  • dpkg -L packagename 列出包裹安装的所有文件清单
  • dpkg -s 显示已安装包裹的信息
  • dpkg -S filename 查找文件属于哪个包
  • dpkg-reconfigure packagename 重新配制一个已经安装的包裹
  • dpkg –get-selections | grep keyname 获取软件包裹状态
  • echo “packagename hold” | sudo dpkg –set-selections 设置软件包裹状态,比如 HOLD 某个包裹不允许升级
  • echo “packagename install” | sudo dpkg –set-selections 从 HOLD 状态恢复软件包裹标志位 清除所以删除包的残余配置文件
    dpkg -l |grep ^rc|awk ‘{print $2}’ |tr [“n”] [” “]|sudo xargs dpkg -P - apt安装
  • apt-cache search package 搜索包 (apt-cache search httpd)
  • apt-cache show package 获取包的相关信息,如说明、大小、版本等
  • apt-cache depends package 查询软件依赖哪些包
  • apt-cache rdepends package 查询软件被哪些包依赖
  • apt-get install package 安装包
  • apt-get install package –reinstall 重新安装包
  • apt-get -f install 修复安装
  • apt-get remove package 删除包
  • apt-get remove package –purge 删除包,包括删除配置文件等
  • apt-get update 更新源
  • apt-get upgrade 更新已安装的包
  • apt-get dist-upgrade 升级系统
  • apt-get dselect-upgrade 使用 dselect 升级
  • apt-get build-dep package 安装相关的编译环境
  • apt-get source package 下载该包的源代码
  • apt-get clean && sudo apt-get autoclean 清理无用的包
  • apt-get install apt 满足依赖
  • apt-get -f install apt 满足依赖
  • apt-cdrom add 增加一个光盘源
  • apt-file search filename 查找文件属于哪个包 系统升级
    sudo apt-get dist-upgrade 查看安装软件时下载包的临时存放目录

ls /var/cache/apt/archives

ubuntu学习笔记-帐号管理

关于帐号管理的几个文件

  • /etc/passwd 储存用户帐号信息
  • /etc/shadow 储存用户帐号加密密码
  • /etc/group 储存组帐号信息
  • /etc/gshadow 储存组帐号加密密码 密码字段的标示说明

  • 空 无密码

  • !! 无密码
  • x 密码被加密
  • # 帐号被锁定
  • * 帐号被锁定 chsh 更改自己的登陆shell

  • chsh /bin/false 禁止用户登陆shell finger 显示与用户有关的信息

  • finger ohsc 查询ohsc相关信息,如果帐号不存在,则显示no such user useradd 添加用户帐号

  • useradd -d /home/ohsc -u 1001 -g 1001 -s /bin/bash ohsc

  • -c 注释
  • -d 登陆目录
  • -e 有效期限
  • -f 缓冲天数
  • -g GID
  • -s shell
  • -u UID usermod 修改用户帐号

  • usermod -c “ohsc” -d /home/ohsc

  • -c 注释
  • -d 登陆目录
  • -e 有效期限
  • -f 缓冲天数
  • -g GID
  • -G 附加GID
  • -l 账户名称
  • -s shell
  • -u UID groupadd 添加组帐号

  • groupadd -g 1009 test groupmod 修改组帐号

  • groupmod -g 1020 -n student roye

  • -g GID
  • -o 重复使用GID
  • -n 新组名称 passwd 修改密码,修改登陆账户密码时,不需要加参数

  • passwd -d ohsc 删除密码

  • passwd -l ohsc 锁定帐号
  • passwd -u ohsc 解锁帐号
  • passwd -f ohsc 强制解锁
  • passwd -S ohsc 显示密码信息 whoami 显示自身的用户名称,等同id -un

w 显示当前所有登陆用户的信息

who 显示当前所有登陆用户的信息

chfn 改变finger命令的显示内容

删除用户帐号范例:

1.在/etc/passwd文件中删除用户的记录

ohsc: x: 1002: : /home/ohsc: /bin/bash

2.在/etc/shadow文件中删除用户的记录

ohsc: !!: 11887: 0: 99999: 7: : :

3.在/etc/group中将用户同名的组记录删除

ohsc: x:1002

4.删除用户的主目录

rm -fr /home/ohsc

5.删除用户的电子邮件

rm /var/spool/mail/ohsc

6.删除用户执行的后台程序

ps -aux | grep “ohsc”

kill PID

7.删除用户crontab的设置

rm /var/spool/cron/ohsc

删除组帐号

sudo groupdel jack

批量添加帐号

1.编辑用户信息文件

sudo gedit /root/account.txt

文件内容格式如下:

student1:x:601:601::/home/student1:/bin/bash

student2:x:601:601::/home/student2:/bin/bash

student3:x:601:601::/home/student3:/bin/bash

2.执行/usr/sbin/newusers,用于建立账户

sudo newusers < /root/account.txt

3.执行/user/sbin/pwunconv,取消shadow加密功能

sudo pwunconv

4.建立密码文件

sudo gedit /root/password.txt

文件内容格式如下:

student1:sadawed

student2:ewrwerw

student3:sasdkkk

5.执行/usr/sbin/chpasswd,用于导入密码

sudo chpasswd < /root/password.txt

6.执行/user/sbin/pwconv,开启shadow加密功能

sudo pwconv

ubuntu学习笔记-文件系统管理命令

pwd 显示当前工作目录

ls 列出目录内容

  • ls -l 显示详细信息,包含使用权限、文件数目、所有者、使用组、大小、时间、文件名
  • ls -a 显示隐藏文件
  • ls -al 不用说了,上面两个命令结合的 cd 切换目录
  • cd dir1 切换到当前目录的dir1目录里
  • cd ~ 回到登陆用户的主目录
  • cd .. 回到上层目录
  • cd / 切换到根目录 cp 复制

  • cp /test/file1 /test2/file2 把test下的file1复制到test2下,并改名为file2

  • cp -a /dir1 /dir2 把dir1及其内部文件、文件夹复制到dir2
  • cp -ax /dir1 /dir2 把dir1及其内部文件、文件夹复制到dir2,并更改文件系统格式,如fat32变为ext3 mv 移动

  • mv /test/file1 /test/file2 把file1改名为file2

  • mv /test1/file1 /test2/file2 把file1移动到test2,并改名为file2 rm 删除

  • rm /test/file1 删除/test目录下的file1文件

  • rm -rf /test 强制删除/test目录和目录中的文件(慎用) mkdir 新建目录

  • mkdir /test 建立/test目录 rmdir 删除目录

  • rmdir /test 删除/test目录,前提是rmdir是空目录,否则使用rm -rf ln 建立链接文件

  • ln -s /test/file1 /test2/file1.ln 建立软链接

  • ln /test/file1 /test2/file1.ln 建立硬链接 cat 查看文件内容

  • cat /etc/passwd 显示passwd文件内容

  • cat -b /etc/passwd 显示passwd文件内容,并为每行编号
  • cat /test/file1 /test/file2 /test/file3 将file1、file2、file3同时显示出来
  • cat /test/file1 /test/file2 > test/file3 将file1与file2合并存入file3 more 逐行逐页显示文件内容,按回车则换行,按空格则换页

  • more /etc/wgetrc 逐行逐页显示wgetrc的内容

  • more +9 /etc/wgetrc 从第9行开始显示
  • more +/do /etc/wgetrc 从文件中第一个出现do字符串的地方开始显示内容 less 交互式操作显示文件内容

  • less /etc/wgetrc 可用方向键控制上下左右画面,h键帮助,q键退出浏览模式 head 查看文件内容前面部分

  • head -5 /etc/wgetrc 显示前5行 tail 输出文件内容后面部分

  • tail -5 /etc/wgetrc 显示后5行

  • tail -n +108 /etc/wgetrc 从108行开始显示到结束 chmod 文件权限修改

  • chmod 664 /test/file1 把file1的权限改为664

  • chmod u+x,g-w,o-r /test/file1 对file1增加user的执行权限,减去group的写入权限,减去other的读取权限 umask 指定文件的默认权限掩码

  • umask 0002 每个新建文件的默认权限为0666-0002=0664,目录的默认权限为0777-0002=0775 > 输出定向,将输出结果保存到文件,遇到错误,将错误信息输出到屏幕

  • cat > /test/file2.txt 在键盘中输入内容,并存入file2.txt(输入然后enter,再按ctrl+c保存退出)

  • ls -al /etc > /test/file1 将输出结果保存在file1 >> 附加输出定向,将输出结果追加到文件

  • ls -al /etc >> /test/file1 将输出结果追加保存在file1 &> 错误输出定向,将输出结果保存到文件,遇到错误,将错误信息写入文件

  • mail sss@qq.com hello
  • >Finsh 直到输入Finsh,系统便会结束邮件编辑并且寄出 | 管道,将其他程序的输出结果直接定向到另一个程序中

  • ls -al /etc | less