Linux第一条原则:必需先备份要修改的文件
2012-05-24(學習)
最近的書看的和凌亂,主要是備份、刪除文件、系統、分區的相關問題:
dd if=/dev/sdx of=/dev/sdX #將分區x完全複製到X
(提示:dd是對分區塊進行複製,所以備份時間取決予分區的大小,而不是分區中數據的多少。
正常的複製速度是30~60M/sec。1G通常要30秒左右)
CP命令的功能是将给出的文件或目录拷贝到另一文件或目录中,功能十分强大。
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。尽可能将档案状态、权限等资料都照原状予以复制。
- d 拷贝时保留链接。
- f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件至目的地。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖。建议用户在使用cp命令拷贝文件时,最好使用i选项。
例子:
$ cp - i test1.c /usr/cpp/test2.c
该命令将文件test1.c拷贝到/usr/cpp 这个目录下,并改名为 test2.c。
如果不希望重新命名,可以使用下面的命令:
$ cp test1.c /usr/cpp/
将所有的log日志文件拷贝至 bak 子目录中 :
$ cp *.log bak
2012-05-23 (學習),
建立、刪除用戶命令列題
sudo useradd kevin -m -d /home/kevinD #建立新用戶kevin,強制在/home下建立家目錄kevinD
sudo passwd kevin #為用戶kevin建立新的密碼
sudo userdel kevin #刪除用戶kevin
sudo rm /home/kevinD -r #強制刪除目錄kevinD # -r 使用前請極度慎重
查看用戶較詳細資料
finger kevin #可以查看主機用戶資料,比較危險
暫時鎖住、解鎖用戶
passwd -l kevin #鎖定用戶kevin
passwd -u kevin #解鎖用戶kevin
切換當前用戶身份為另一個用戶身份
su -l kevin #將當前用戶更換為kevin,這時提示輸入密碼(是kevin的密碼),在設定文件的chmod是很方便
可以執行sudo命令的用戶身份編輯
sudo visudo #用於編輯/etc/sudoers
2012-05-20(學習)
sudo apt-get install 软件名 安装软件命令
sudo nautilus 打开文件(有root权限)
su root 切换到“root”
ls 列出当前目录文件(不包括隐含文件)
ls -a 列出当前目录文件(包括隐含文件)
ls -l 列出当前目录下文件的详细信息
cd .. 回当前目录的上一级目录
cd - 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录
mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切
mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名
find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
fdisk fdisk -l 查看系统分区信息
fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
chown chown root /home 把/home的属主改成root用户
chgrp chgrp root /home 把/home的属组改成root组
useradd 创建一个新的用户
groupadd 组名 创建一个新的组
passwd 用户名 为用户创建密码
passwd -d用户名 删除用户密码也能登陆
passwd -S用户名 查询账号密码
usermod -l 新用户名 老用户名 为用户改名
userdel–r 用户名 删除用户一切
tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
tar –cvf benet.tar /home/benet 把/home/benet目录打包
tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
tar –zxvf benet.tar.gz 压缩包的文件解压恢复
tar –jxvf benet.tar.bz2 解压缩
make 编译
make install 安装编译好的源码包
reboot Init 6 重启LINUX系统
halt Init 0 Shutdown –h now 关闭LINUX系统
uname -a 查看内核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb设备
sudo ethtool eth0 查看网卡状态
cat /proc/cpuinfo 查看cpu信息
lshw 查看当前硬件信息
sudo fdisk -l 查看磁盘信息
df -h 查看硬盘剩余空间
free -m 查看当前的内存使用情况
ps -A 查看当前有哪些进程
kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)
kill -9 进程号 强制杀死一个进程
常用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 检查是否有损坏的依赖
清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包 )
sudo apt-get clean
删除系统不再使用的孤立软件
sudo apt-get autoremove
1. 分區: /boot ;/ ;/home ;/var ;swap
2.date # 日期
cal # 當月月曆
cal 1972 # 當年全年日曆
cal 7 1072 # 當年當月日曆
bc # 計算器(scale=3 #精確到小數點后3位)
ca [Tab] [Tab] # 顯示ca開頭的全部指令(指令補齊)
man 命令 # 解釋想借命令內容
sudo apt-get install manpages-zh # 安裝中文版的man
fsck # 检查并修复Linux文件系统
cd 變換目錄
.. 當前目錄
. 上一層目錄
- 前一個工作目錄
~ 家目錄
pwd 顯示目前所在的目錄
mkdir 建立新目錄 -p 可以建立多层目录
rmdir 刪除(空)目錄 -p 可以删除多层目录
ls 查看檔案和目錄
cp 複製
rm 移動
mv 刪除
chmod 命令可控制文件夾和文件的讀、寫、執行權限
Linux檔案的存取權限分為3級:檔案擁有者+群組+其他
r 讀 read = 4
w 寫 write = 2
x 執行 xactive = 1
完全權限 rwx = 7
讀寫權限 rw- = 6
唯獨權限 r-x = 5
由此對檔案的權限表達: r+w+x r+w+x r+w+x
例:4+2+1 4+2+1 4+2+1 = 777 表示:(檔案擁有者+群組+其他)對檔案都有完全權限
4+2+1 0+0+0 0+0+0 = 700 表示:只有(檔案擁有者)對檔案有完全權限
4+2+1 4+2+1 0+0+0 = 770 表示:只有(檔案擁有者+群組)對檔案有完全權限
常用的權限有 600 644 700 755 711 666 777,666和777是不可取的做法。
chown是Root可以用來改變檔案的擁有者
命令行:chown 新的檔案擁有者:群組 檔案
例:chown kevin /home/abc 表示:只有kevin是home下檔案abc的擁有者
chown kevin:admin /home/abc 表示:kevin和admin組都是home下檔案abc的擁有者
-R是將命令遞歸到檔案下所有子檔案