6.Linux目录和文件管理类命令

bash特性之命令别名和命令引用:
命令别名:命令的另外一个名字
windows中清屏使用 cls
Linux下的清屏命令为clear
    alias:用来定义命令别名的
    alias 不跟选项和参数时,显示系统上所有的命令别名
    alias ALIAS=COMMAND
NAME
       alias - define or display aliases

SYNOPSIS
       alias [alias-name[=string] ...]    
[[email protected]_basic tmp]# alias
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
定义Linux的清屏命令为cls
[[email protected]_basic tmp]# alias ‘cls=clear‘
[[email protected]_basic tmp]# alias
alias cls=‘clear‘
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
此时在Linux下使用cls就相当于清屏了,此设置只能在当前终端中生效,切换或退出再登录时此别名是不会生效的,要生效则需要修改配置文件。

别名与命令名同名时:
   执行命令本身可以使用:

绝对路径
         \COMMAND
[[email protected]_basic tmp]# \ls 和/bin/ls显示结果一样
hello  mylinux  test.txt  you
[[email protected]_basic tmp]# /bin/ls
hello  mylinux  test.txt  you

生效范围:命令行定义的别名,其生效范围为当前会话;
在会话的设置会当前生效,在配置文件中的设置是永久有效的,但很难立即生效,需要重读配置文件

unalias [ALIAS]
        -a: 撤消所有别名
NAME
       unalias - remove alias definitions  删除别名定义

SYNOPSIS
       unalias alias-name...   删除制定别名的定义

unalias -a

DESCRIPTION
       The unalias utility shall remove the definition for each alias name specified. See Alias Substitution . The aliases shall  be
       removed from the current shell execution environment; see Shell Execution Environment .
[[email protected]_basic ~]# alias
alias cls=‘clear‘
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
[[email protected]_basic ~]# unalias cls
[[email protected]_basic ~]# cls
-bash: cls: command not found
[[email protected]_basic ~]# alias
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘

bash支持的引用:
        ‘‘
        ""
        ``:引用一个命令的执行结果   反引号

$()  和 ``是一样的功能,建议使用$()
如何来新建一个file-hh-mm-ss.txt文件呢?
引用命令的执行结果
[[email protected]_basic ~]# date +%T
17:47:03
[[email protected]_basic ~]# date +%H-%M-%S
17-47-26
[[email protected]_basic ~]# touch file-`date +%H-%M-%S`.txt
[[email protected]_basic ~]# ls file-17-48-31.txt
file-17-48-31.txt

bash特性之文件名通配(globbing):
    *: 任意长度的任意字符
        p*d, pad, pbd, pd
        *ab*c
显示/etc/下所以以a开头的文件        
[[email protected]_basic ~]# ls -d /etc/a*
/etc/abrt  /etc/adjtime  /etc/aliases.db  /etc/alternatives  /etc/asound.conf  /etc/audisp
/etc/acpi  /etc/aliases  /etc/alsa        /etc/anacrontab    /etc/at.deny      /etc/audit
    ?: 匹配任意单字符
[[email protected]_basic mylinux]# ls
bin  boot  dev  etc  lib  lib64  proc  sbin  sys  tmp  usr  var
[[email protected]_basic mylinux]# ls *s*
sbin:

sys:

usr:
bin  lib  lib64  local  sbin
[[email protected]_basic mylinux]# ls *s* -d
sbin  sys  usr
[[email protected]_basic mylinux]# ls s?
ls: cannot access s?: No such file or directory
[[email protected]_basic mylinux]# ls s??
[[email protected]_basic mylinux]# ls s???
[[email protected]_basic mylinux]# ls s??? -d
sbin
[[email protected]_basic mylinux]# ls s?? -d
sys    
        []: 匹配指定范围内的任意单字符
        [abc] 匹配含有一个a或b或c的字串
        [a-z] 匹配含有一个字母的字串 和[A-Z]是一样的
[[email protected]_basic tmp]# ls
hello  mylinux  test.txt  you
[[email protected]_basic tmp]# touch yoU
[[email protected]_basic tmp]# ls yo[a-z]
yoU

you:
are        
[[email protected]_basic tmp]# ls -d yo[a-z]
yoA  yoH  you  yoU
[[email protected]_basic tmp]# ls -d yo[A-Z]
yoA  yoH  you  yoU
        [0-9] 匹配含有单个数字
        [0-9a-z] 匹配含有数字和字符的
        [^]:匹配指定范围以外的任意单字符
        [^0-9a-z]

字符集合:
            [:space:] : 所有空白字符  匹配单个空白字符[[:spsce:]]
            [:punct:] : 所有标点符号
            [:lower:] :所有小写字母
            [:upper:] :所有的大写字母
            [:digit:] :所有的数字
            [:alnum:] : 所有的字母和数字
            [:alpha:] :所有的字母

练习:
        1、显示/var目录下所有以l开头,以一个小字母结尾,且中间出现一位数字的文件或目录;
            # ls /var/l*[[:digit:]]*[[:lower:]]
        2、显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
            # ls -d /etc/[[:digit:]]*[^[:digit:]]
        3、显示/etc目录下,以非字母开头,后面跟了一个字母及其它任意长度字符的文件或目录;
            # ls -d /etc/[^[:alpha:]][[:alpha:]]*

练习:
        1、在/tmp/mytest目录中创建以testdir打头,后跟当前日期和时间的空目录,形如testdir-2014-07-03-09-15-33;
            # mkdir -pv /tmp/mytest/testdir-$(date +%F-%H-%M-%S)

echo命令
NAME
       echo - write arguments to standard output
[[email protected]_basic tmp]# echo "hello world"
hello world       
SYNOPSIS
       echo [string ...]

DESCRIPTION
       The echo utility writes its arguments to standard output, followed by a <newline>. If there are no arguments, only the  <new-
       line> is written.
    echo [-neE] [arg ...]
-n        do not append a newline
-e        enable interpretation of the following backslash escapes  使能转义字符
-E        explicitly suppress interpretation of backslash escapes
        \n
        \n        new line
        \t
        \t        horizontal tab
[[email protected]_basic tmp]# echo "How are you.\nWorld."
How are you.\nWorld.
[[email protected]_basic tmp]# echo -e "How are you.\nWorld."
How are you.
World.
[[email protected]_basic tmp]# echo -n "How are you.\nWorld."
How are you.\nWorld.[[email protected]_basic tmp]#
[[email protected]_basic tmp]# echo  -e "How are you.\tWorld."
How are you.    World.
        \033[
            单个数字:控制字体
            3#:#是一个数字,3表示控制其前景色
            4#:#是一个数字,4表示控制其背景色

组合使用,彼此间使用;分隔

m:是固定格式

\033[0m:控制符的功能至此结束,没有提供时,用ls命令会取消显示,

文件管理类命令:
    复制:cp
    移动:mv
    删除:rm

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
    cp:
        cp SRC DEST
            SRC是文件:
                如果DEST不存在:复制SRC为DEST
                如果DEST存在:
                    如果DEST是文件:则提示是否覆盖
                    如果DEST是目录:将SRC复制进DEST中,并保持原名
[[email protected]_basic tmp]# mkdir you/test
[[email protected]_basic tmp]# touch test
[[email protected]_basic tmp]# ls
A  hello  mylinux  test  test.txt  yoA  yoH  you  yoU
[[email protected]_basic tmp]# cp test you/test
[[email protected]_basic tmp]# ls you/test/
test
[[email protected]_basic tmp]# cp test you/test/
cp: overwrite `you/test/test‘? n

cp SRC... DEST
            如果SRC不止一个,则DEST必须得是目录且存在;
[[email protected]_basic tmp]# cp /etc/inittab /etc/fstab /tmp/test
cp: target `/tmp/test‘ is not a directory
        cp SRC DEST
            SRC是目录:
                复制目录,可使用-r选项:
                -R, -r, --recursive
              copy directories recursively  递归复制目录

cp -r SRC... DEST
[[email protected]_basic tmp]# ls
A  hello  mylinux  test  test.txt  yoA  yoH  you  yoU
[[email protected]_basic tmp]# cp -r /var/log mylog
[[email protected]_basic tmp]# ls
A  hello  mylinux  mylog  test  test.txt  yoA  yoH  you  yoU

练习:复制/etc目录下,所有以p开头,以非数字结尾的文件或目录至/tmp/mytest1目录;
            # mkdir /tmp/mytest1
            # cp -r /etc/p*[^[:digit:]]  /tmp/mytest1

练习:复制/etc/目录下,所有以.d结尾的文件或目录至/tmp/mytest2目录;
            # mkdir /tmp/mytest2
            # cp -r /etc/*.d  /tmp/mytest2

练习:复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录;
            # mkdir /tmp/mytest3
            # cp -r /etc/[lmn]*.conf /tmp/mytest3

-P: 复制符号链接文件本身,而非其指向的目标文件  符号链接文件的大小是源文件中字符的个数
         --preserve[=ATTR_LIST]
             mode,ownership,timestamps
                 mode: 权限
                 owership: 属主、属组
                 timestamps: 时间戳
      -R 目录复制使用递归
            -d     same as --no-dereference --preserve=links  保留连接
             -p: 相当于 --preserve(保留)=mode,ownership,timestamps
      preserve[=ATTR_LIST]   默认是保留权限、属主和属组、时间戳,也可以指定保留的属性
              preserve  the  specified  attributes (default: mode,ownership,timestamps), if possible additional attributes: context,
              links, xattr, all
       保留指定属性来复制的
       
        -a:相当于 -dR --preserve=all  保留文件的所有属性,常用来归档的
            归档:archive

-i: interactive
        -i, --interactive  文件存在提示是否覆盖
              prompt before overwrite (overrides a previous -n option)

注意:在普通用户中cp是没有别名的,也即没有alias cp=‘cp -i‘所以使用时要特别注意,不要随意把重要文件覆盖了。
    [[email protected]_basic tmp]# alias
    alias cp=‘cp -i‘          
        
        -f: force   此项需要注意使用,不要把重要文件给强制覆盖了
        -f, --force  文件存在时,强制复制不提示
              if an existing destination file cannot be opened, remove it and try again (redundant if the -n option is used)

以下命令中,大家需要注意复制过程中各文件的属性信息是否改变及各选项和参数的具体作用,此处不详解,有问题,可以一起来交流

[[email protected]_basic tmp]# cd free/
[[email protected]_basic free]# ls
[[email protected]_basic free]# touch links
[[email protected]_basic free]# ln -sv links link
`link‘ -> `links‘
[[email protected]_basic free]# ls -l
total 0
lrwxrwxrwx. 1 root root 5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root root 0 Dec 20 20:31 links
[[email protected]_basic free]# mkdir too
[[email protected]_basic free]# ls
link  links  too
[[email protected]_basic free]# cp link too/
[[email protected]_basic free]# ls too/
link
[[email protected]_basic free]# ls too/ -l
total 0
-rw-r--r--. 1 root root 0 Dec 20 20:33 link
[[email protected]_basic free]# cp -p link too/
cp: overwrite `too/link‘? y
[[email protected]_basic free]# ls too/ -l
total 0
-rw-r--r--. 1 root root 0 Dec 20 20:31 link
[[email protected]_basic free]# cp -P link too/
cp: overwrite `too/link‘? y
[[email protected]_basic free]# ls too/ -l
total 0
lrwxrwxrwx. 1 root root 5 Dec 20 20:33 link -> links
[[email protected]_basic free]# chmod +w /tmp/free/
[[email protected]_basic free]# chmod +w /tmp/free
[[email protected]_basic free]# ls -ld /tmp/free
drwxr-xr-x. 3 root root 4096 Dec 20 20:32 /tmp/free
[[email protected]_basic free]# chmod a+w /tmp/free
[[email protected]_basic free]# ls -ld /tmp/free
drwxrwxrwx. 3 root root 4096 Dec 20 20:32 /tmp/free
[[email protected]_basic free]# chmod -w /tmp/free
chmod: /tmp/free: new permissions are r-xrwxrwx, not r-xr-xr-x
[[email protected]_basic free]# ls -ld /tmp/free
dr-xrwxrwx. 3 root root 4096 Dec 20 20:32 /tmp/free
[[email protected]_basic free]# chmod +w /tmp/free
[[email protected]_basic free]# ls -ld /tmp/free
drwxrwxrwx. 3 root root 4096 Dec 20 20:32 /tmp/free
[[email protected]_basic free]# cp other other_to
[[email protected]_basic free]# ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root      root         0 Dec 20 20:31 links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
-rw-r--r--. 1 root      root         0 Dec 20 20:39 other_to
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too
[[email protected]_basic free]# cp -p other other_too
[[email protected]_basic free]# ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root      root         0 Dec 20 20:31 links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
-rw-r--r--. 1 root      root         0 Dec 20 20:39 other_to
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other_too
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too
[[email protected]_basic free]# cp --preserve=mode,timestamps other othero
[[email protected]_basic free]# ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root      root         0 Dec 20 20:31 links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
-rw-rw-r--. 1 root      root         0 Dec 20 20:38 othero
-rw-r--r--. 1 root      root         0 Dec 20 20:39 other_to
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other_too
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too
[[email protected]_basic free]# rm lins
rm: cannot remove `lins‘: No such file or directory
[[email protected]_basic free]# rm links
rm: remove regular empty file `links‘? y
[[email protected]_basic free]# ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
-rw-rw-r--. 1 root      root         0 Dec 20 20:38 othero
-rw-r--r--. 1 root      root         0 Dec 20 20:39 other_to
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other_too
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too

[[email protected]_basic free]$ ls -l
total 4
lrwxrwxrwx. 1 root root    5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root root    0 Dec 20 20:31 links
drwxr-xr-x. 2 root root 4096 Dec 20 20:33 too
[[email protected]_basic free]$ mkdir other
mkdir: cannot create directory `other‘: Permission denied
[[email protected]_basic free]$ ls -l /tmp/free/
total 4
lrwxrwxrwx. 1 root root    5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root root    0 Dec 20 20:31 links
drwxr-xr-x. 2 root root 4096 Dec 20 20:33 too
[[email protected]_basic free]$ ls -d /tmp/free/
/tmp/free/
[[email protected]_basic free]$ ls -dl /tmp/free/
drwxr-xr-x. 3 root root 4096 Dec 20 20:32 /tmp/free/
[[email protected]_basic free]$ ls -dl /tmp/free/
drwxrwxrwx. 3 root root 4096 Dec 20 20:32 /tmp/free/
[[email protected]_basic free]$ touch other
[[email protected]_basic free]$ ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root      root         0 Dec 20 20:31 links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too

[[email protected]_basic free]# touch links
[[email protected]_basic free]# ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root      root         0 Dec 20 20:52 links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
-rw-rw-r--. 1 root      root         0 Dec 20 20:38 othero
-rw-r--r--. 1 root      root         0 Dec 20 20:39 other_to
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other_too
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too
[[email protected]_basic free]# cp -d link ok
[[email protected]_basic free]# ls -l
total 4
lrwxrwxrwx. 1 root      root         5 Dec 20 20:31 link -> links
-rw-r--r--. 1 root      root         0 Dec 20 20:52 links
lrwxrwxrwx. 1 root      root         5 Dec 20 20:53 ok -> links
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other
-rw-rw-r--. 1 root      root         0 Dec 20 20:38 othero
-rw-r--r--. 1 root      root         0 Dec 20 20:39 other_to
-rw-rw-r--. 1 cactiuser cactiuser    0 Dec 20 20:38 other_too
drwxr-xr-x. 2 root      root      4096 Dec 20 20:33 too

时间: 2024-10-09 08:06:41

6.Linux目录和文件管理类命令的相关文章

Linux上的文件管理类命令

1.Linux上的文件管理类命令都有哪些,其常用的方法及其相关示例演示: 命令格式:命令   -选项     参数 文件处理命令 Ls 功能:查看目录下文件的详细信息 语法:ls 选项[-ald] [文件或目录] -a显示所有文件,包括隐藏文件 -l 详细信息显示 -d 查看目录属性 演示: [[email protected] mytest1]# ls p23b p2e [[email protected] mytest]# ll total 0 drwxr-xr-x. 2 root root

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示(待补全)

目录管理类命令: cd,, ls,mkdir, rmdir, tree cd cd命令用来切换工作目录至dirname.其中dirName表示法可为绝对路径或相对路径. 命令格式:cd [目录名] 命令选项: -p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录 -L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录. - 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"

linux文件管理类命令汇总(用法与选项)

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 一.文件权限管理类命令 chown:改变文件所有者 chown [OPTION]... [OWNER][:[GROUP]] FILE... 常用参数 -R:递归修改(改目录就改目录中的目录及文件) 示例:# chown -R root /tmp/issue # chown -R root:root /tmp/issue chown [OPTION]... --reference=RFILE FILE... 示例:# c

linux基础入门之文件管理类命令

文件管理类命令 命令和选项 command [options] [arguments] 命令      选项    参数 选项 短选项-   例(-h -l -a) 短选项可组合 例(-hla) 有些命令短选项可以不带-, 通常称作BSD风格的选项 例(ps aux ,tar xf) 有些选项需要带参数 tail -n 2 /etc/passwd 长选项不能组合 --help --list 如果需要参数 长选项的参数通常需要=号  --size=1G 命令后的参数就是命令的作用对象 例:ls /

linux文件管理类命令,类型,用户的权限管理及bash shell的特性:命令别名,文件名通配

文件管理类命令 ls 查看 :cat tac more less head tail 复制:cp -r:递归 -i:提示,交互 -f:强制覆盖 -a :保留所有文件信息 -d:当源为链接文件时,复制链接本身,而非源文件 -p:保持原有属性 删除 : rm 删除非空目录 rm -rf 移动 : mv 创建 : touch 用来修改时间戳,创建空文件 -c:不创建新文件,只修改时间戳 -a:仅修改访问时间 -m:修改修改时间 -t:指定时间戳 先加-m再加-t后跟时间 元数据属性:stat 显示文件

linux文件管理类命令汇总及通配的几个事例

linux文件管理类命令汇总 1.文本文件查看类命令:cat,tac,more,less,tail,head cat(tac): 正向(反向)显示 cat [OPTION]... [FILE]...                -E:显示行结束符$ -n:对显示出的每一行进行编号 more [OPTIONS...] FILE... 特点:翻屏至文件尾部后自动退出; -d:显示翻页及退出提示 space:向下翻页                        Enter:向下翻一行 b,ctrl

linux文件管理类命令汇总及演示(mkdir,rmdir,tree,touch,cp,mv,rm)

mkdir mkdir 概述 创建目录 语法 mkdir [OPTION]... DIRECTORY.. 常用选项 -p:--parents,自动按需创建父目录 -v:--verbose,显示详细创建过程 -m:--mode,创建时给定权限 命令演示 [[email protected] mytest]# mkdir -p xiangjis [[email protected] mytest]# ll 总用量 0 drwxr-xr-x. 2 root root 6 7月 19 14:33 xia

linux目录及文件管理, bash重定向

linux文件类型: f,d,l,c,b,p,s, 查看文件类型: file 文件的三个时间戳: atime mtime: 数据内容改变 ctime: 元数据改变 查看时间戳: stat 别名的定义:(命令行定义的别名,其生效范围为当前会话:编辑配置文件则可长久有效) alias ALIAS=COMMAND 如 #alias cls=clear unalias [ALIAS] -a 撤消所有别名 命令引用: bash支持的引用: '' "" `` 如 # touch file-`dat

Linux文件管理类命令及命令别名

文件查看类命令: cat: tac: 从文件尾部开始显示 分屏显示: more [option] 文件名: 查看至文件尾部会退出 空格为翻页 less [option] 文件名: 查看至文件尾部不退出 ctrl+d: 往下翻半屏 ctrl+u: 往上翻半屏 k: 往上翻一行 enter:往下翻一行 1J: 第一行 : 最后一行 /keyword: 查找指定字符,从文件头开始 ?keyword: 查找指定字符,从文件尾开始 n: 往下找 N: 往上找 #G: 定位某一行 q: 首尾查看:head,