个人常用Linux文件操作命令
本文只记录个人工作中最常用到的命令。
关机和用户
shutdown -h now 关机
reboot 重启
sync 非正常关机前执行,强制将内存缓冲区中的数据立即写入磁盘中
logout 注销
su - root 切换到root用户
文件和目录
cd /home 进入/home
cd .. 上级
cd ../.. 上两级
cd - 返回上次所在目录
pwd 显示当前工作路径
ls 列出目录内文件
ll 同ls -l,列出目录内文件详情,尤其是权限
ls -a 显示隐藏文件
mkdir 创建新目录
rmdir 删除空文件夹,加上-r表示递归删除非空文件夹
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm file 删除文件,-f强制
rm -rf dir 强制递归删除非空文件夹
touch 创建新文件
cp 拷贝,-r递归
mv 重命名,移动
文档搜索
find / -name file 从 '/' 开始进入根文件系统搜索文件和目录
find /home -name \*.bin 在目录'/ home' 中搜索带有'.bin' 结尾的文件
whereis 从每周更新的文档数据库中查找,相对find更快,但是可能找到旧数据
which halt 通过环境变量查找二进制文件或可执行文件
挂载文件系统
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
磁盘空间
df -h 显示已经挂载的分区列表
fdisk -l 列出所有分区表
不同操作系统的磁盘命令多有不同,还要看实际情况
权限
chmod 777 dir 设置目录针对不同用户的rwx权限(所有人、群组、其他人)
chown user file 改变文件的所有人
打包、压缩
rar x file.rar 解压rar包
unrar x file.rar 解压rar包
tar -zcvf archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
包管理(只针对ubuntu)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包
apt-get install package_name 安装/更新一个 deb 包
apt-get update 升级列表中的软件包
apt-get upgrade 升级所有已安装的软件
apt-get remove package_name 从系统删除一个deb包
查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
网络
ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 'eth0' 网络设备
ifdown eth0 禁用一个 'eth0' 网络设备
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
dhclient eth0 以dhcp模式启用 'eth0'
特殊场景
1、启动服务:
service xxxx start/stop/status/restart/reload
举例:service network restart重启网络,需要root权限
2、查找进程并杀死进程:
ps aux | grep xxxx
kill -s 9 pid
说明:ps用来查看进程,a是显示所有用户的所有程序,u是以用户格式输出,x是不以终端机区分显示所有程序。“|”是管道符,表示在前面结果中执行后面的操作。grep是正则筛选,通过xxxx条件筛选出结果。
kill是杀死进程命令,-s表示信号(可以省略变成kill -9 pid),9表示强制杀死进程,pid是ps中得到的进程id。
优化:前面的缺点是需要自己去查看pid,并执行杀死过程,如果把所有过程放在一起,组成的命令就是:
ps -ef | grep procedure_name | grep -v grep | awk '{print $2}' | xargs kill -9
优化说明:ps -ef表示全格式显示所有进程,grep p_name过滤出进程名,grep -v grep忽略grep这个进程,awk '{print $2}'使用awk语法显示第2列(从$1开始)的值,xargs和grep相似表示分段传递给后面命令(比如检查出多条记录),kill -9同上杀死进程。
3、查看端口占用状态
netstat -anp | grep portno
说明:netstat用于监控tcp/ip显示网络接口的状态, -a显示所有连线中的socket,-n使用ip地址而不是域名,-p显示程序名,通过portno过滤某个端口。
4、待随时补充