【Linux基础】常用Linux命令: cd, cp, ls, mkdir, mv, rm, su, uname
常用Linux命令:cd, cp, ls, mkdir, mv, rm, su, uname
cd命令:切换当前工作目录至 dirName(目录参数)
其中 dirName 可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home 目录的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
cd [dirName]
参数:
- dirName:要切换的目标目录。
实例:
跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home 目录:
cd ~
跳到目前目录的上上两层:
cd ../..
cp命令:复制文件或目录
cp [options] source dest
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件
实例:
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:
cp –r test/ newtest
ls命令:列出目前工作目录所含的文件和子目录
ls [-alrtAFR] [name]
参数 :
- -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
- -R 若目录下有文件,则以下之文件亦皆依序列出
实例:
列出根目录(/)下的所有目录:
ls /
将 /bin 目录以下所有目录及文件详细资料列出 :
ls -lR /bin
mkdir命令:创建文件夹
mkdir [-p] dirName
参数说明:
- -p 确保目录名称存在,不存在的就建一个。
实例:
在工作目录下,建立一个名为 taotao 的子目录 :
mkdir taotao
在工作目录下的 taotao 目录中,建立一个名为 data 的子目录。若 taotao 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 taotao 目录不存在,则产生错误。)
mkdir -p taotao/data
mv命令:用来为文件或目录改名、或将文件或目录移入其它位置
mv [options] source dest
mv [options] source directory
参数说明:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv参数设置与运行结果
命令格式 | 运行结果 |
mv 文件名 文件名 | 将源文件改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 |
目标目录已存在,将源目录移动到目标目录; 目标目录不存在则改名 |
mv 目录名 文件名 | 出错 |
实例:
将文件 taotao.txt 更名为 wulitaotao.txt :
mv taotao.txt wulitaotao.txt
将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。
mv info/ logs
再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:
mv /usr/student/* .
rm命令:删除一个文件或者目录
rm [options] name
参数:
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
实例:
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:
# rm test.txt rm:是否删除 一般文件 "test.txt"? y # rm homework rm: 无法删除目录"homework": 是一个目录 # rm -r homework rm:是否删除 目录 "homework"? y
删除当前目录下的所有文件及目录,命令行为:
rm -r *
su命令:用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
- -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
- -m -p 或 --preserve-environment 执行 su 时不改变环境变数
- -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
- -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
- --help 显示说明文件
- --version 显示版本资讯
- - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
- USER 欲变更的使用者帐号
- ARG 传入新的 shell 参数
实例:
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 root 并传入 -f 参数给新执行的 shell
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@w3cschool.cc:~$ whoami //显示当前用户 hnlinux hnlinux@w3cschool.cc:~$ pwd //显示当前目录 /home/hnlinux hnlinux@w3cschool.cc:~$ su root //切换到root用户 密码: root@w3cschool.cc:/home/hnlinux# whoami root root@w3cschool.cc:/home/hnlinux# pwd /home/hnlinux
切换用户,改变环境变量
hnlinux@w3cschool.cc:~$ whoami //显示当前用户 hnlinux hnlinux@w3cschool.cc:~$ pwd //显示当前目录 /home/hnlinux hnlinux@w3cschool.cc:~$ su - root //切换到root用户 密码: root@w3cschool.cc:/home/hnlinux# whoami root root@w3cschool.cc:/home/hnlinux# pwd //显示当前目录 /root
uname命令:用于显示系统信息
uname [-amnrsv][--help][--version]
参数说明:
- -a或--all 显示全部的信息。
- -m或--machine 显示电脑类型。
- -n或-nodename 显示在网络上的主机名称。
- -r或--release 显示操作系统的发行编号。
- -s或--sysname 显示操作系统名称。
- -v 显示操作系统的版本。
- --help 显示帮助。
- --version 显示版本信息。
实例:
显示系统信息:
# uname -a Linux snail-hnlinux 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux
显示计算机类型:
# uname -m i686
显示计算机名:
# uname -n snail-hnlinux
显示操作系统发行编号:
# uname -r 2.6.32-21-generic
显示操作系统名称:
# uname -s Linux
显示系统时间:
# uname -v #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2014
References