一、文件/文件夹管理
ls 列出当前目录文件(不包括隐含文件)
ls -a 列出当前目录文件(包括隐含文件)
ls -l 列出当前目录下文件的详细信息
cd … 回当前目录的上一级目录
cd - 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录
mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
touch 文件名 创建文件
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切
mv 路经/文件 /经/文件移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名
find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
二、apt命令
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package - - reinstall 重新安装包
sudo apt-get -f install 修复安装”-f = –fix-missing”
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 检查是否有损坏的依赖
sudo apt-get clean 清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包)
三、文件
快速查找某个文件
#whereis filename
#find 目录 -name 文件名
查看文件类型
#file filename
显示xxx文件倒数6行的内容
#tail -n 6 xxx
让tail不停地读地最新的内容
#tail -n 10 -f /var/log/apache2/access.log
查看文件中间的第五行(含)到第10行(含)的内容
#sed -n ‘5,10p’ /var/log/apache2/access.log
查找包含xxx字符串的文件
#grep -l -r xxx .
全盘搜索文件(桌面可视化)
gnome-search-tool
查找关于xxx的命令
#apropos xxx man -k xxx
通过ssh传输文件
#scp -rp /path/filenameusername@remoteIP:/path
#将本地文件拷贝到服务器上
#scp -rpusername@remoteIP:/path/filename/path
#将远程文件从服务器下载到本地
查看某个文件被哪些应用程序读写
#lsof 文件名
把所有文件的后辍由rm改为rmvb
#rename ’s/.rm$/.rmvb/’ *
把所有文件名中的大写改为小写
#rename ‘tr/A-Z/a-z/’ *
删除特殊文件名的文件,如文件名:–help.txt
#rm — –help.txt 或者 rm ./–help.txt
查看当前目录的子目录
#ls -d */. 或 echo */.
将当前目录下最近30天访问过的文件移动到上级back目录
#find . -type f -atime -30 -exec mv {} …/back ;
将当前目录下最近2小时到8小时之内的文件显示出来
#find . -mmin +120 -mmin -480 -exec more {} ;
删除修改时间在30天之前的所有文件
#find . -type f -mtime +30 -mtime -3600 -exec rm {} ;
查找guest用户的以avi或者rm结尾的文件并删除掉
#find . -name ‘.avi’ -o -name ‘.rm’ -user ‘guest’ -exec rm {} ;
查找的不以java和xml结尾,并7天没有使用的文件删除掉
#find . ! -name .java ! -name ‘.xml’ -atime +7 -exec rm {} ;
统计当前文件个数
#ls /usr/bin|wc -w
统计当前目录个数
#ls -l /usr/bin|grep ^d|wc -l
显示当前目录下2006-01-01的文件名
#ls -l |grep 2006-01-01 |awk ‘{print $8}’
#chmod
[语法]: chmod [-R] 模式 文件…
或 chmod [ugoa] {+|-|=} [rwxst] 文件…
[说明]: 改变文件的存取模式,存取模式可表示为数字或符号串,例如:
#chmod nnnn file , n为0-7的数字,意义如下:
4000 运行时可改变UID
2000 运行时可改变GID
1000 置粘着位
0400 文件主可读
0200 文件主可写
0100 文件主可执行
0040 同组用户可读
0020 同组用户可写
0010 同组用户可执行
0004 其他用户可读
0002 其他用户可写
0001 其他用户可执行
nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所有用户可读可写可执行。
-R 递归地改变所有子目录下所有文件的存取模式
u 文件主
g 同组用户
o 其他用户
a 所有用户
- 增加后列权限
- 取消后列权限
= 置成后列权限
r 可读
w 可写
x 可执行
s 运行时可置UID
t 运行时可置GID
[例子]:
#chmod 0666 file1 file2 将文件 file1 及 file2 置为所有用户可读可写
#chmod u+x file 对文件 file 增加文件主可执行权限
#chmod o-rwx 对文件file 取消其他用户的所有权限