一、修改文件的默认打开方式
1.1 相关配置文件
ubuntu和文件打开方式有关的配置文件包括:
全局配置文件
/etc/gnome/defaults.list
/usr/share/applications/mimeinfo.cache
个人配置
~/.local/share/applications/mimeapps.list
~/.local/share/applications/mimeinfo.cache
如果二者不一致,个人配置优先
1.2 修改默认打开方式
这可以通过修改
/etc/gnome/defaults.list
或者修改
~/.local/share/applications/mimeapps.list 文件来完成
比如通过修改/etc/gnome/defaults.list文件把PDF文件的默认打开方式修改成adobe reader:
application/pdf=AdobeReader.desktop;evince.desktop
这些文件内容比较简单,就不再列出了
当然也可以通过右键点击文件,然后选择属性来修改。
二、软件管理
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package - - reinstall 重新安装包
sudo apt-get -f install 修复安装
sudo apt-get remove package 删除包
sudo apt-get remove package - - purge 删除包,包括删除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 是查看该包被哪些包依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
如果想修改软件源,则可以先打开软件中心,然后打开“编辑”菜单,再选择软件源即可进行选择修改
三、安装、卸载ISO
3.1 安装
sudo mount -t iso9660 -o loop xxx.iso /media/yourdir
命令参数解释:
sudo 在ubuntu中拥有root权限(只限于终端)
mount 挂载命令(加载文件系统和驱动器用)(需要root权限)
t iso9660 -t=文件系统类型
-o loop -o=选项
xxx.iso 需要挂载的镜像文件路径
/media/yourdir挂载到的目录
3.2 卸载
sudo umount -t iso9660 /media/yourdir
四、格式化磁盘
如果要把磁盘格式化为FAT格式或者FAT32格式,则执行命令:
sudo mkfs.vfat -F 32 /dev/sdb1即可将u盘格式化为fat32格式。
如果要把指定磁盘格式化为NTFS格式,那么需要首先安装ntfs工具,方法是执行命令:
sudo apt-get install ntfsprogs
然后执行命令:
sudo mkfs.ntfs /dev/sda1
如果要格式化为linux ext格式,则可以执行
sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区
sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区
sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区
需要注意的是,对于要格式化的分区必须要先用umount卸载掉
五、安装、配置tftp服务器
5.1.安装tftp的服务端和客户端(如果已经安装,可以忽略这一步)
sudo apt-get install tftpd-hpa ;安装tftp服务端
sudo apt-get install tftp-hpa ;安装tftp客户端
5.2.安装xinetd(如果已经安装,则忽略这一步)
sudo apt-get install xinetd
5.3.建立自己的tftpboot目录,作为服务器的目录
(我是建立在了根目录下)
sudo mkdir /tftpboot
修改权限:
sudo chmod 777 /tftpboot
5.4.配置TFTP服务器:
- 相关的配置文件为 /etc/default/tftpd-hpa,其内容为:
- [html] view plain copy
- #/etc/default/tftpd-hpa
- TFTP_USERNAME="tftp"//tftp的名字
- TFTP_DIRECTORY="/tftpboot"//tftp服务器的目录TFTP_ADDRESS="0.0.0.0:69"
- TFTP_OPTIONS="--secure"
5.5.重启xinetd服务
sudo /etc/init.d/xinetd restart
5.6.重启tftpd服务
sudo /etc/init.d/tftpd-hpa restart
这样tftp服务器就安装、配置完成了
六、安装、配置nfs服务器
6.1 安装Ubuntu nfs
sudo apt-get install nfs-kernel-server
6.2 配置nfs服务器
NFS的配置文件时/etc/exports,其内容为:
[html] view plain copy
- #/etc/exports:theaccesscontrollistforfilesystemswhichmaybeexported#toNFSclients.Seeexports(5).
- ##ExampleforNFSv2andNFSv3:
- #/srv/homeshostname1(rw,sync,no_subtree_check)hostname2(ro,sync,no_subtree_check)#
- #ExampleforNFSv4:#/srv/nfs4gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
- #/srv/nfs4/homesgss/krb5i(rw,sync,no_subtree_check)#
- /home/rover/rootfs*(rw,sync,no_root_squash) 其中:/home/rover/rootfs是要共享的目录,rw 是可读写权限, sync 是资料同步写入内存和硬盘,no_root_squash 是Ubuntu nfs 客户端分享目录使用者的权限,如果客户端使用的是root 用户,那么对于该共享目录而言,该客户端就具有root 权限。
其它Ubuntu nfs常用的参数有:
ro 只读访问rw 读写访问sync 所有数据在请求时写入共享async nfs在写入数据前可以响应请求secure nfs通过1024以下的安全TCP/IP端口发送insecure nfs通过1024以上的端口发送wdelay 如果多个用户要写入nfs目录,则归组写入(默认)no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。hide 在nfs共享目录中不共享其子目录no_hide 共享nfs目录的子目录subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)no_subtree_check 和上面相对,不检查父目录权限all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。no_all_squash 保留共享文件的UID和GID(默认)root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)no_root_squas root用户具有根目录的完全管理访问权限anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UIDanongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID
6.3 重启服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
之后可以通过查看网络端口状态来判断服务器是否成功开启
sudo netstat -tlunp
如果发现有针对111端口及2049端口的监听,则说明服务器开启成功了。
查看RPC相关信息的命令如下:
sudo rpcinfo -p localhost
或者查看文件 /etc/rpc
七、git常用命令
git annotate patches/pam-1.1.1-CVE-2010-3853.patch 查看某个patch的信息
git show 提交号 查看该提交的信息
git reset --hard HEAD~
git log:可以查看log记录
git log --oneline file查看文件的git记录
git blame:查看文件内每一行的提交记录
git show commit号:查看某个commit的修改
git reset commit号:reset到某个commit
git am 0001-PAM-Correctly-count-leading-whitespace-wr-1-0-secure.patch 打patch
git reflog 查看最近执行的命令,可以用于reset
git revert e7df69c09251c3114e66a727b903449c7fb10112 放弃修改
八、DTC工具
DTC工具可以将在将根据dtb生成dts,也可以根据dts生成dtb,是一个比较有用的工具。使用方式:
dtc -I dtb -O dts x.dtb -o x.dts //dtb转变成dts
dtc -I dts -O dtb x.dts -o x.dtb //dts转变成dtb
九、制作ext2格式的rootfs
dd if=/dev/zero of=image.ext2 bs=1k count=1000000
losetup /dev/loop0 image.ext2
sudo losetup /dev/loop0 image.ext2
sudo mke2fs -c /dev/loop0 1000000
sudo mount -t ext2 /dev/loop0 /mnt/tst/
copy the whole file system to /mnt/tst
sudo umount /mnt/tst
sudo losetup -d /dev/loop0
gzip the image.ext2
using mkimage to add u-boot header
"mkimage -A ppc -T ramdisk -C gzip -d image.ext2.gz image.ext2.gz.uboot"
如果本身已经有一个ext2格式的文件系统,只是要修改其内容,则可以忽略掉dd命令以及mke2fs命令,只要先losetup再mount就可以修改其内容
十、linux获取文件名
file=”thisfile.txt”
echo “filename: ${file%.*}”
echo “extension: ${file##*.}”
输出:
filename: thisfile
extension:txt
路径字符串的处理
dirname ${FULLPATH} 获取目录。
basename ${FULLPATH} 获取取文件名。
basename ${FULLPATH} ${EXT} 获取取文件名,并且去掉指定的扩展名。