Linux 命令学习笔记
文件基本操作
ls ,rm , mv , ln
ls
ls [option] [files]
不带参数时,列出当前工作目录的内容
$ls
列出指定目录的内容
ls dir1
或个别文件
ls file1
选项
-a 列出所有文件,包括隐藏文件和目录 (以 .开头)
-l 以长格式显示文件名属性和明细
-h 以k,m等适合用户阅读的单位取代字节
-F 以象征类型的鼓号来修饰特定文件名
/ 目录
* 可执行文件
@ 符号文件(symbolic links)
l 命令管道(named pipes)
= 通信管道(sockets)
符号附加在文件名之后,可帮忙一眼看出他们的类型,这些符号并非文件名的一
部分,而是ls在显示时自己加上去的。
-i 在问价名之前加注该文件的inode编号
-s 在文件名之前加注文件所占的块数(1 block 一般是 1024 bytes)
-R 递归列出目录内容
-d 列出目录本身,而不是其内容
cp [option] files (file|dir)
不添加参数表示复制一个文件
$cp srcfile destfile
复制多个文件到某个目录下
$cp file1 fle2 file3 dir
-a或者-R 选项,可以递归复制整个子目录
-p 连同源文件的访问模式,时间戳也一并复制给新文件,如果你的权限允许,新
文件的拥有者和所属组也和旧文件一样。如果没可以指定本项,新文件的拥有者是
你,膝盖时间是当前时间,而访问模式则是源文件的访问模式与你的umask的交集
。
-a 复制整个目录树,而且保留特殊文件、访问模式、符号连接与硬链接的关系。
本选项相当于同时指定 -R(包含特殊文件在内的递归复制), -p(访问模式)
-d(链接)
-i 交互模式,覆盖目标文件之前,先征求用户的意见
-f 强行复制,及时目标文件已存在,也一律无条件改写。
mv [option] sources target
移动和改名其实是一回事, move 命令也可改变文件名。
mv file1 file2
将文件或目录移动到另一个目录下
mv file1 file2 dir3 dir4 dest_dir
-i 交互模式
-f 强制移动
rm [options] files|dirs
rm (remove)命令可删除文件
rm file1 file2 file3
也可删除整个目录
rm -r dir1 dir3
-i 交互模式
-f 强制删除,忽略任贺错误或警告
-r 递归喊出目录与其内容,
ln [options] source target
链接link是对另一个文件的引用reference,有ln命令所建立。链接分成两种,符
号连接(symbolic link)以"路径"来表示另一个文件,就想windows中的快捷方
式(shorcut)或macintosh的别名alias
$ln -s myfile softlink
若删除源文件,符号链接文件因为只想不存在路径二变得无效。另一方面,硬链接
(hard link)是磁盘上某物理文件的第二个名称(以术语来说,硬链接只想同一
个inode)。删除源文件并不会造成链接失败那你仍然可通过硬链接来访问源文件
的内容。
$ln myfile softlink
符号链接可跨越磁盘分区,因为他们只是对源文件路径的引用而已。但是硬链接则
不可以,因为一个分区上的inode对其他分区是没有意义。符号链接的对象可以使
目录,但是硬链接不可以,除非你是superuser而且使用-d选项。
常用选项
-s 制作符号链接(默认行为是制作硬链接)
-i 交互模式
-f 强制模式,无条件予以覆盖
-d 容许superuser制作目录的硬链接
使用下列命令之一,可轻易找出符号链接的对象为何
$readlink linkname
$ls -l linkname
目录操作
cd 改变当前工作目录
pwd 显示当前工作目录的名称
basename 显示文件路径中的末端部分
dirname 像是文件路径中的末端之外的部分
mkdir 创建目录
rmdir 删除空目录
rm -r 删除非空目录及其内容
cd [directory] bash
shell 内置命令