Linux 系统基础命令

回顾目录结构:

/:目录的定点

  • /usr:用户程序的安装目录
    • /usr/bin:存放普通用户可以执行的二进制文件(系统命令)
    • /usr/sbin:超级用户可以执行的二进制文件
    • /usr/local:用户安装的第三方程序目录
  • /etc:存放系统程序的配置文件
    • /etc/shadow:存放系统用户的密码文件
    • /etc/passwd:系统登陆用户文件
    • /etc/hosts:本地域名解析文件
    • /etc/group:存放用户组的文件
    • /etc/sysconfig/network-scripts/ifcfg-eth1:第二块网卡配置文件
    • /etc/resolv.conf:DNS文件
  • /dev:硬件(设备)信息
    • /dev/null:黑洞设备,只能放不想看到的屏幕上输出的结果,不能放目录或者文件
    • /dev/zero:源源不断的产生数据设备
    • /dev/pts:终端设备
    • /dev/random:产生随机数
    • /dev/sda:第一块磁盘
      • /dev/sda1:第一块磁盘的第一个分区
      • /dev/sda2:第一块磁盘的第二个分区
    • /dev/sdb:第二块磁盘
      • /dev/sdb4:第二块磁盘的第四个分区
  • /proc:存放系统进程和系统信息文件
    • /proc/meminfo:系统内存的信息
    • /proc/cpuinfo:系统CPU的信息
  • /boot:系统的启动文件
  • /bin:存放普通用户可以执行的二进制文件(系统命令)
  • /sbin:超级用户可以执行的二进制文件
  • /lib:库文件,如果删除库文件,会导致命令无法运行(32位)
  • /lib64:库文件,如果删除库文件,会导致命令无法运行(64位)
  • /opt:
  • /var:存放系统的可变文件,缓存、日志
    • /var/log/message:系统日志文件
    • /var/log/secure:系统的登陆日志
  • /home:普通用户的家目录
# 普通用户:bob
cd ~
cd /home/bob
cd

# 超级用户
cd ~
cd /root
cd

路径的定位:

  • 绝对路径

/或者 ~开头的路径,就是绝对路径,在任何情况,在任何目录下,都可以执行

  • 相对路径

不以 / 或者 ~开头的路径,就是相对路径,相对路径不是什么时候都可以执行

  • 特殊目录
# '.'
当前所在的目录

# '..'
上一级目录

# ~
用户的家目录

切换目录的命令

# cd
cd /usr/local           #绝对
cd ../local             #相对
cd ./src                #相对
cd                      #绝对
cd ~                    #绝对
cd /root                #绝对
cd ~/.ssh               #绝对
cd /.ssh                #绝对
cd .ssh                 #相对
cd -                    #返回上一次所在的路径
cd ..                   #回到上一级目录
cd .                    #在当前目录,呆着

pwd:显示当前所在的绝对路径,完整路径。

系统文件管理命令

创建目录-mkdir

## 创建目录mkdir(make directory)
Usage: mkdir [OPTION]... DIRECTORY...  # 看到语法中含有中括号的,可加可不加
Create the DIRECTORY(ies), if they do not already exist.
创建单个或多个目录如果他们不存在

-m:创建目录的时候,给权限
-p:递归创建目录,如果目录已经存在,则不创建并且 (不报错)
-v:显示创建目录的信息

mkdir /zls              # 在/下创建zls目录
mkdir zls               # 在当前目录下,创建zls目录
mkdir ../zls            # 在当前目录的上一级目录中,创建zls目录
mkdir ./zls             # 在当前目录下,创建zls目录
mkdir /opt/zls          # 在/opt/目录下创建一个zls目录

mkdir -p /abc/123/efg/456
mkdir -pv /abc/123/efg/456

## 创建目录时 报错
mkdir: cannot create directory ‘/abc/bcd/efg’: No such file or directory
报错原因:/abc目录不存在,所以无法创建后面的目录
解决方法:mkdir -p /abc/bcd/efg

mkdir: cannot create directory ‘/usr/local/zls’: File exists
报错原因:不能创建/usr/local/zls这个目录,因为目录已经存在了
解决方法:1.不创建   2.mkdir -p /usr/local/zls

mkdir: cannot create directory ‘/root/zls’: Permission denied
报错原因:不能创建目录/root/zls,因为 权限不够
解决方法:需要授权(chmod  chown 后面讲)

mkdir: cannot create directory ‘/root/a.txt/111’: Not a directory
报错原因:不能创建目录,因为 /root/a.txt 不是一个目录
解决方法:不要在普通文件下创建目录

# 创建多个目录
mkdir /a1 /tmp/a1 /usr/local/a1
mkdir a1 a2 a3 a4 a5 a6 a7

mkdir a{1,2,3}
mkdir a{10..100}
mkdir /tmp/xxx yyy


mkdir -p /zls/abc{1..10}/efg
mkdir -p /zls/abc1/efg /zls/abc2/efg ...
mkdir: created directory ‘/zls/abc1’
mkdir: created directory ‘/zls/abc1/efg’
mkdir: created directory ‘/zls/abc2’
mkdir: created directory ‘/zls/abc2/efg’
mkdir: created directory ‘/zls/abc3’
mkdir: created directory ‘/zls/abc3/efg’
mkdir: created directory ‘/zls/abc4’
mkdir: created directory ‘/zls/abc4/efg’
mkdir: created directory ‘/zls/abc5’
mkdir: created directory ‘/zls/abc5/efg’
mkdir: created directory ‘/zls/abc6’
mkdir: created directory ‘/zls/abc6/efg’
mkdir: created directory ‘/zls/abc7’
mkdir: created directory ‘/zls/abc7/efg’
mkdir: created directory ‘/zls/abc8’
mkdir: created directory ‘/zls/abc8/efg’
mkdir: created directory ‘/zls/abc9’
mkdir: created directory ‘/zls/abc9/efg’
mkdir: created directory ‘/zls/abc10’
mkdir: created directory ‘/zls/abc10/efg’

# 使用一条命令,创建出下面的所有目录
/home/zls
/home/zls/test1
/home/zls/test2
/home/oldboy
/home/oldboy/test1
/tmp/oldboy
/tmp/oldgirl
/root/test/test1
/root/test/test2
/root/abc
/backup

[root@zls ~]# mkdir /{home,tmp,root,backup}
[root@zls ~]# mkdir /{home/{zls,oldboy},root,tmp,backup}
[root@zls ~]# mkdir -p /{home/{zls,oldboy},root,tmp/{oldboy,oldgirl},backup}
[root@zls ~]# mkdir -p /{home/{zls,oldboy},root,tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -p /{home/{zls,oldboy},root/{test,abc}tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -p /{home/{zls/test{1,2,oldboy},root/{test,abc},tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -p /{home/{zls/test{1,2},oldboy},root/{test/test{1,2},abc},tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -pv /{home/{zls/test{1,2},oldboy/test},root/{test/test{1,2},abc},tmp/old{boy,girl},backup}

创建文件-touch

Usage: touch [OPTION]... FILE...
1.创建,如果文件已存在,则修改它的`修改时间`和`访问时间`和`改变时间`,不存在则创建(不会报错)
2.必须创建在已经存在的目录中
3.创建相同文件,不会被覆盖
4.在Linux中,一切皆文件,没有后缀的区别,后缀是为了给人看的

## 创建文件的报错
touch: cannot touch ‘/qiandao/canglaoshi’: No such file or directory
报错原因:不在/qiandao下创建canglaoshi文件,因为/qiandao 不是文件或目录
解决方法:1.mkdir /qiandao  2.touch /qiandao/canglaoshi

touch /zls/a
touch /b
touch /tmp/c
touch {a..z}
touch 1{a..z}
touch ww /zls/a
touch /zls/a ww

显示目录结构命令-tree

tree
tree /opt
tree -L 1 /opt/
tree  -dL 1 /opt/

-L:显示目录的层级(指定层级)
-d:List directories only 只显示目录,不显示文件

复制文件或者目录命令-cp

copy  : 拷贝,复制
Usage: cp [OPTION]... SOURCE... DIRECTORY

cp ./wwwww /tmp
cp ./wwwww /tmp/zls
# 注意,上面的命令
1.如果zls存在,并且是一个目录,会将wwwww放到/tmp/zls目录下
2.如果zls不存在,那么会将wwwww放到/tmp目录下,并且改名叫zls
3.如果zls存在,并且是一个文件,会将wwwww放到/tmp目录下,并且覆盖原有的zls文件内容

今日重点:

  • mkdir
  • touch
  • tree
  • cp

猜你喜欢

转载自www.cnblogs.com/mdddm/p/12539894.html
今日推荐