Linux基础命令

146 阅读8分钟

获得命令帮助

help 命令

查询内部命令帮助

命令 --help

查看外部命令帮助

man (手册)

man 不加数字 默认使用1 1代表查询linux命令

man 5 文件名 代表查询此文件的格式

Linux目录和文件管理

pwd显示用户当前所在工作目录位置

[root@localhost date]# pwd  //显示当前路径
/root/date
[root@localhost date]# cd /bin
[root@localhost bin]# ll /bin
lrwxrwxrwx. 1 root root 7 426 16:44 /bin -> usr/bin
[root@localhost bin]# pwd -P  //显示真实路径
/usr/bin

软连接 pwd -P(一定在软连接文件夹中) -P 显示真实路径

cd(change directory)切换目录

格式

cd 目标位置

家目录(宿主目录):

  • 用户的配置文件
  • 该用户在实际家目录下拥有最高权限
  • 家目录就是给普通用户使用
[root@localhost ~]# cd /etc/   //切换到/etc目录
[root@localhost etc]# 
[root@localhost etc]# cd       //切换到当前用户家目录
[root@localhost ~]# 
[root@localhost ~]# cd -      //切换到前一次目录
/etc

  • cd或者cd~可以切换到当前目录的家目录
  • cd .切换到当前目录
  • cd..切换到上一层目录

ls (list) 列出目录/文件的详细属性信息

格式

ls [选项] [文件或目录… ]

ls-a:显示所有文件,包括.隐藏文件 ls -t按时间由大到小顺序展示 ls - tr(倒叙展示) ls - s 按大小由小到大展示文件顺序 ls-r 按递归展示文件内容

[root@localhost ~]# ls -d   //显示当前目录
.
[root@localhost ~]# ls -dl  //查看当前目录的属性信息
dr-xr-x---. 15 root root 4096 427 11:44 .
[root@localhost ~]# ls  //显示当前目录下的所有文件(不包含隐藏文件)
anaconda-ks.cfg  initial-setup-ks.cfg  模板  图片  下载  桌面
date             公共                  视频  文档  音乐
[root@localhost ~]# ls -a //显示当前目录下的所有文件(包含隐藏文件)
.                .bash_profile  date                  .local       模板  音乐
..               .bashrc        .dbus                 .tcshrc      视频  桌面
anaconda-ks.cfg  .cache         .esd_auth             .viminfo     图片
.bash_history    .config        .ICEauthority         .Xauthority  文档
.bash_logout     .cshrc         initial-setup-ks.cfg  公共         下载
[root@localhost ~]# ls -lh  //列出长数据串,显示出文件的属性与权限等数据信息,并友好显示文件大小
总用量 8.0K
-rw-------. 1 root root 2.0K 426 16:49 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 427 11:44 date
-rw-r--r--. 1 root root 2.1K 426 16:50 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 426 16:50 公共
drwxr-xr-x. 2 root root    6 426 16:50 模板
drwxr-xr-x. 2 root root    6 426 16:50 视频
drwxr-xr-x. 2 root root    6 426 16:50 图片
drwxr-xr-x. 2 root root    6 426 16:50 文档
drwxr-xr-x. 2 root root    6 426 16:50 下载
drwxr-xr-x. 2 root root    6 426 16:50 音乐
drwxr-xr-x. 2 root root    6 426 16:50 桌面

一般ls与通配符一起使用

通配符

去匹配文件名(包括目录)

符号功能
代表一个字符
*代表任意长度字符
{1..10}{1..10}
{a..z}a b c ...z
{A..Z}A B C .....Z
[123]包含其中之一就显示,没有也无所谓(此处括号里只表示单个字符)
[0-9]匹配数字范围(0123456789),表示单个数字
[a-z]范围需要注意 (表示从aA、bB到z,不含Z),表示单个字母
[A-Z]从A到Z(只含大写)中的任意一个字母
\转义符,表示原来的意思
[[:lower:]]小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z
[^zhou]匹配列表中的所有字符以外的字符
[[:digit:]]任意数字,相当于0-9
*的使用。
[root@localhost data]# ls -a *   //不显示隐藏文件 
1
[root@localhost data]# ls -a     //显示隐藏文件 
. ..  1  
[root@localhost data]# ls *     //*不包括.开头的 
ls: 无法访问*: 没有那个文件或目录
[root@localhost data]# ls .*   //包括了 .. 上层目录
.: 
​ 
..: 
aaa boot dev home lib64 misc net proc run   sdb1 sys usr 
bin data etc lib   media mnt   opt root sbin srv   tmp var  

 alias 别名命令

格式

  • alias 命令别名 = ’命令‘
  • unalias 别名命令 删除别名
  • \加别名命令 (显示原始命令)
  • 实际项目中需先查看其他人有没有定义别名命令。
[root@localhost ~]# alias cd='ls'
[root@localhost ~]# cd
anaconda-ks.cfg  initial-setup-ks.cfg  模板  图片  下载  桌面
date             公共                  视频  文档  音乐
[root@localhost ~]# unalias cd
[root@localhost ~]# 

- 命令执行顺序:绝对路径下的命令>别名命令>内部命令>hash命令>外部命令。

du (disk usage) 统计目录或文件所占磁盘空间大小的命令

格式

du [选项] [文件或目录… ]

  • du-a:查看所有
  • du-k:带单位显示
[root@localhost ~]# du --max-depth=1  //统计当前目录大小,只显示到第二级目录
5160	./.cache
4	./.dbus
112	./.config
0	./桌面
0	./下载
0	./模板
0	./公共
0	./文档
0	./音乐
0	./图片
0	./视频
308	./.local
0	./date
5640	.

  • du显示的是文件占磁盘大小,不是文件的实际大小。
  • 每个磁盘分块,每块(4K)只能存一个文件,当文件不足4K时,du统计也会按4K计算。

mkdir  (make direction)  创建文件夹

格式

mkdir [选项] 目录位置及名称…

[root@localhost data]# mkdir a b c d //创建多个目录
[root@localhost data]# ls 
a b c d
[root@localhost date]# mkdir -p aaa/bbb/ccc
[root@localhost date]# tree
.
├── -
├── a
├── aaa
│   └── bbb
│       └── ccc
├── b
├── c
├── d
└── p

9 directories, 0 files

创建链接文件 ln

ln命令格式

  • ln 源文件 目标文件:创建硬链接文件
  • ln -s 源文件 目标文件:创建软连接文件
[root@localhost data]# ln /data/f1.txt /data/f11.txt //给文件创建硬链接 
[root@localhost data]# ls 
f1.txt f11.txt

[root@localhost data]# ln /data/f1.txt /boot/f111.txt     //不能跨分区创建硬链接 
ln: 无法创建硬链接"/boot/f111.txt" => "/data/f1.txt": 无效的跨设备连接

 
 [root@localhost tmp]# ln /tmp/ceshi ceshi01   //不支持给目录创建硬链接 
 ln: "/tmp/ceshi": 不允许将硬链接指向目录

[root@localhost test]# ln -s file1.txt soft.txt //给文件创建软链接 
[root@localhost test]# ls file1.txt soft.txt

cp(copy)备份

格式

- cp [选项]… 源文件 目标 相当改名复制 - cp [选项]... 源文件... 目录 多个源文件只能复制到文件夹

  • cp:复制文件夹
  • cp-a:复制所有权限
  • cp-p:复制部分权限
  • cp-f:强制复制,不询问
  • cp-r:直接将目录一起复制
[root@localhost data]# cp -r /etc/ /opt/           //复制目录需要加-r 
[root@localhost data]# cp -r /etc/ /opt/etc.bak     //复制并改名 
[root@localhost data]# cp -r /etc/ /opt/etc.bak     //复制后变成etc.bak 的子目录 [root@localhost data]# cp -r /etc/ /opt/etc.bak     //目录内有相同名称子目录,系统会询问要不要覆盖,cp是别名 加\cp 直接覆盖

mv(move) 移动或改名

格式

mv [选项] … 源文件或目录… 目标文件或目录

  • mv:在当前目录使用,是改名的作用,在其他目录是移动的作用
  • mv-f:强制移动,不询问
  • mv-n:移动,如果以及有,则不移动
  • mv-v:显示移动过程
[root@localhost test]# mv bbb aaa //将目录bbb改名为aaa 
[root@localhost test]# mv aaa /tmp   //将目录aaa移动到/tmp目录下

[root@localhost test]# mv 1.txt 2.txt file01.txt //源文件为多个时目标必须是目录,否则系统会报错 mv: 
目标"file02" 不是目录
[root@localhost test]# mv 1.txt 2.txt /tmp/aaa   //将多个文件移动到/tmp/aaa目录下 
[root@localhost test]# ls /tmp/aaa 1.txt  2.txt

rm(remove)删除

格式

rm [选项] 要删除的文件或目录

  • rm:删除
  • rm-r(递归)可以删除目录
  • rm-f(强制删除)
[root@localhost ~]# rm -rf /     //操作十分危险,系统拒绝执行 rm: 在"/" 进行递归操作十分危险 rm: 使用 --no-preserve-root 选项跳过安全模式 
[root@localhost ~]# rm -rf /data/*     //删除/data/目录下所有文件 
[root@localhost test]# rm 1.txt 
rm:是否删除普通空文件 "1.txt"?
[root@localhost test]# ls 1.txt  2.txt 
[root@localhost test]# rm -f 1.txt   //删除前不做询问,强制删除 
[root@localhost test]# ls 2.txt

find查找

格式

find [OPTION]... [查找路径] [查找条件] [处理动作]

真正的查找命令 可以全部文件查找,由于量大,所以速度慢可以做到实时查找

条件:size(大小)mtime(时间)type(类型)name(名字)exec(交给后面处理)

[root@localhost ~]# find /opt/r*
/opt/rh
[root@localhost ~]# find /opt/ -size +0b
/opt/
/opt/rh

which 用来查看命令的位置。

格式

which 命令/程序名

[root@localhost ~]# which cd
/usr/bin/cd

七类常见的linux的文件

  • d 目录文件directory

  • b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。

  • c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用; 一个字符一个字符读取 /dev/zero (/dev/null)

  • l 符号链接文件link

  • p 管道文件pipe 主要用于进程间通信单向传输, 一个只读、另一个只写 ,其主要作用是解决多个程序同时存取一个文件所造成的错误。

  • s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信。(可以双向)

  • -普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等