day5 : 系统目录及ls·文件类型及alias命令

本文介绍了Linux系统的目录结构、常用命令及其使用方法,包括ls、cd命令的多种参数选项,文件类型的识别,以及alias命令的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、上过一次我们学习了单用户和救援模式及服务器秘钥登录等操作,而我们最终的目的还是要操作和使用linux系统,所以我们今天先初步学习linux的基本命令如下:

一·目录介绍        ls命令介绍          文件类型        alias命令介绍

1、首先我们先学习下linux的目录:登录linux服务器,使用命令"ls  /"查看根目录文件:

[root@localhost ~]# ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

在学习之前我们先查看下当前用户所在的目录,使用pwd命令查看:

[root@localhost ~]# pwd
/root

图中我们看到当前在的目录是root,也就是我们是root的目录下来操作的:

此时我们思考下:那如果是当前登录的普通用户,是否也是在家目录下呢:如下操作:

首先我们创建一个普通用户yuanhh,并切换到普通用户,并查看家目录:

[root@localhost ~]# useradd yuanhh

[root@localhost ~]# su - yuanhh

[yuanhh@localhost ~]$ pwd

/home/yuanhh


[root@localhost ~]# useradd yuanhh
[root@localhost ~]# su - yuanhh
[yuanhh@localhost ~]$ pwd
/home/yuanhh

此时我们得知,普通用户的家目录是home目录下,也就是说明所创建的所有普通用户的家目录都在home目录下:

2、此时我们还返回上面,继续查看根目录下文件:

使用tree是以树形的目录来显示: tree  -L  2   /     (-L 只显示2层)

如果显示未找到此命令,则需要用yum手动安装一下则可:

[root@localhost ~]# tree  -L  2   /
-bash: tree: 未找到命令
[root@localhost ~]# yum install -y tree

bin:/usr/bin: 用来存放系统的所有用户常用命令,这两个文件做了软连接,是同一个文件,存放可执行的二进制文件,如:ls   mv   cp   mkdir .

[root@localhost ~]# ls /bin/
alias                  msgmerge
apropos                msgunfmt
ar                     msguniq
arch                   mv

boot目录:放置linux启动时核心文件,/boot/vmlinuz为linux的内核文件,以及/boot/gurb等文件:

[root@localhost ~]# ls /boot/
grub
initramfs-0-rescue-36dc953195bb4389870d2591ff6bfea5.img
vmlinuz-0-rescue-36dc953195bb4389870d2591ff6bfea5
vmlinuz-3.10.0-327.el7.x86_64
vmlinuz-3.10.0-514.26.2.el7.x86_64

dev目录:存放linux系统里的设备文件,如硬盘文件/dev/sda或tty等登录终端:

[root@localhost ~]# ls /dev/
autofs           mqueue              tty14  tty41  ttyS2
block            net                 tty15  tty42  ttyS3
bsg              network_latency     tty16  tty43  uhid
btrfs-control    network_throughput  tty17  tty44  uinput

home:普通用户的家目录,如上所述:yuanhh的家目录就是/home/yuanhh.

[root@localhost ~]# ls /home/
yuanhh


etc/目录:系统配置主文件放置目录:重要文件不建议放在此目录下:如:网卡目录,配置文件等。

[root@localhost ~]# ls /etc/
adjtime                  hosts                     protocols
aliases                  hosts.allow               python
aliases.db               hosts.deny                rc0.d
alternatives             init.d                    rc1.d
anacrontab               inittab                   rc2.d

配置文件如:/etc/inittab     /etc/fstab.     /etc/init.d/     /etc/sysconfig/等目录。

lib动态链接库文件:lib:/lib64/相当于linux下的dll文件:用于程序执行时的调用,大多是以.so结尾。

[root@localhost ~]# ls /lib64/
Display all 519 possibilities? (y or n)
audit/                            libmount.so.1.1.0
cracklib_dict.hwm                 libmozjs-17.0.so
cracklib_dict.pwd                 libm.so.6
cracklib_dict.pwi                 libmspack.so.0
dbus-1/                           libmspack.so.0.1.0

使用ldd可以查看当前程序的需要哪些库文件:

[root@localhost ~]# ldd /lib64/libauparse.so.0
        linux-vdso.so.1 =>  (0x00007ffe5ad74000)
        libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f6536dc7000)
        libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007f6536bc1000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f65367fd000)
        /lib64/ld-linux-x86-64.so.2 (0x000055fe42a57000)

media:/mnt:媒介目录,光盘默认的挂载点:目录为空。

opt:主机安装软件目录,一般用来存放oracle的安装程序:目录为空。

proc:用来存放pid进程号,此目录比较重要,存放系统核心,外部设备等等,由于数据存放在内存中,不占空间容量。

[root@localhost /]# ls -l proc/
总用量 0
dr-xr-xr-x  9 root    root                  0 5月  31 21:26 1
dr-xr-xr-x  9 root    root                  0 5月  31 21:26 10
dr-xr-xr-x  9 root    root                  0 5月  31 21:59 1151
dr-xr-xr-x  9 root    root                  0 5月  31 21:26 12
dr-xr-xr-x  9 root    root                  0 6月   1 14:14 1229
dr-xr-xr-x  9 root    root                  0 6月   1 14:14 1230

sbin:/usr/sbin:存放系统管理执行的重要命令,与bin目录不同的是,此目录只有root用户才可以使用。

[root@localhost /]# ls -l sbin/ |head
总用量 38180
-rwxr-xr-x. 1 root root       11720 6月  10 2014 accessdb
-rwxr-xr-x. 1 root root        3126 10月  4 2013 addgnupghome
-rwxr-xr-x. 1 root root       20112 8月   4 2017 addpart
lrwxrwxrwx. 1 root root           7 5月  31 22:05 adduser -> useradd
[root@localhost /]# ls -l usr/sbin/ |head
总用量 38180
-rwxr-xr-x. 1 root root       11720 6月  10 2014 accessdb
-rwxr-xr-x. 1 root root        3126 10月  4 2013 addgnupghome
-rwxr-xr-x. 1 root root       20112 8月   4 2017 addpart
lrwxrwxrwx. 1 root root           7 5月  31 22:05 adduser -> useradd
-rwxr-xr-x. 1 root root       36864 8月   4 2017 agetty

如:fdisk    shutdown    mount

/tmp:存放临时文件目录,一般存放用户正在使用的文件,重要的文件不可以放在这里,任何人都可以访问。

/usr/: 存放用户安装的应用 软件,如mysql , apache等,

[root@localhost /]# ls usr/
bin  games    lib    libexec  sbin   src
etc  include  lib64  local    share  tmp

srv/: 服务启动之后需要访问的内容,如:www需要访问的数据存在在/srv/www目录下:默认为空:

sys/  存放整个linux的内核及一些文件,linux系统一切皆文件:  

[root@localhost /]# ls sys/
block  class  devices   fs          kernel  power
bus    dev    firmware  hypervisor  module
[root@localhost /]# ls sys/kernel/
boot_params   kexec_crash_loaded  profiling      uevent_seqnum
config        kexec_crash_size    rcu_expedited  vmcoreinfo
debug         kexec_loaded        security
fscaps        mm                  slab
iommu_groups  notes               uevent_helper

/var/:存放linux的启动日记和正在运行的程序:

[root@localhost /]# ls /var/
adm    crash  empty  gopher    lib    lock  mail  opt       run    tmp
cache  db     games  kerberos  local  log   nis   preserve  spool  yp
[root@localhost /]# ls /var/run/
auditd.pid   dbus       netreport       sudo         user
chrony       faillock   NetworkManager  syslogd.pid  utmp
chronyd.pid  initramfs  plymouth        systemd      vmware
console      lock       sepermit        tmpfiles.d
crond.pid    log        setrans         tuned
cron.reboot  mount      sshd.pid        udev

/var/run:存放linux正在运行程序的PID号。

/var/log:存放linux系统的启动日记和程序日记:

[root@localhost /]# ls /var/log/
anaconda  dmesg               messages  vmware-vgauthsvc.log.0
audit     dmesg.old           rhsm      vmware-vmsvc.log
boot.log  firewalld           secure    wtmp
btmp      grubby_prune_debug  spooler   yum.log
chrony    lastlog             tallylog
cron      maillog             tuned

/var/log/message:所有的登录信息存放目录。

[root@localhost /]# cat /var/log/messages
May 31 22:15:56 localhost journal: Runtime journal is using 8.0M (max allowed 92.3M, trying to leave 138.4M free of 915.1M available → current limit 92.3M).
May 31 22:15:56 localhost kernel: Initializing cgroup subsys cpuset
May 31 22:15:56 localhost kernel: Initializing cgroup subsys cpu
May 31 22:15:56 localhost kernel: Initializing cgroup subsys cpuacct
May 31 22:15:56 localhost kernel: Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017

/var/spool/mail:邮件存放的目录。

该目录下会以用户名显示,每个用户都有自己的邮件目录,如下:

[root@localhost /]# ls /var/spool/mail/
yuanhh

二·ls命令介绍:常用命令如下:

ls  -a      ls   -l     -ls    -h     -ls   -d     ls   -i      ls   -lt   (-ls   -la    -ls   -lh)

ls   -a   查看隐藏文件:(以.开头的文件)

[root@localhost ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .ssh
..  .bash_history    .bash_profile  .cshrc   .tcshrc

ls  -l    查看文件的详细信息:

[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1273 5月  31 22:13 anaconda-ks.cfg

分别是:文件类型:权限:inode(存放文件的属性信息):所属主:所属组:大小:创建日期(月 日 时间):文件名称

ls   -lh:以更人性化的形式显示,以合适的单位,

[root@localhost /]# ls -lh
总用量 20K
lrwxrwxrwx.   1 root root    7 5月  31 22:04 bin -> usr/bin
dr-xr-xr-x.   5 root root 4.0K 5月  31 22:13 boot
drwxr-xr-x   19 root root 3.2K 5月  31 21:26 dev
drwxr-xr-x.  76 root root 8.0K 6月   1 14:25 etc
drwxr-xr-x.   3 root root   20 6月   1 14:22 home

ls   -lt:以创建的时间顺序显示(从早大晚)。

[root@localhost /]# ls -lt |head -5
总用量 20
drwxr-xr-x   22 root root  580 6月   1 14:27 run
drwxrwxrwt.  10 root root 4096 6月   1 14:27 tmp
drwxr-xr-x.  76 root root 8192 6月   1 14:25 etc
drwxr-xr-x.   3 root root   20 6月   1 14:22 home

ls   -ld:只列出当前目录,不加-d会列出目录下面的内容,不加-d只列出本身:

[root@localhost /]# ls -ld |head -5
dr-xr-xr-x. 17 root root 244 5月  31 16:57 .

一般ls常用的也就只有这些命令了。

ll和ls是一样的效果。

cd命令介绍:  cd    cd   /       cd     /etc/      cd  -     cd  .    cd ..

三·文件类型介绍:

ls  -la  查看结果如下:

[root@localhost /]# ls -la |head -7
总用量 20
dr-xr-xr-x.  17 root root  244 5月  31 16:57 .
dr-xr-xr-x.  17 root root  244 5月  31 16:57 ..
-rw-r--r--    1 root root    0 5月  31 16:57 .autorelabel
lrwxrwxrwx.   1 root root    7 5月  31 22:04 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 5月  31 22:13 boot
drwxr-xr-x   19 root root 3220 5月  31 21:26 dev

其中文件类型主要查看第一位:

(1)-表示是文本文件,白色显示。分为两种:一种是普通的文件,可以用cat查看:

另一种是二进制文件,不能查看的文件:文件用绿色显示:

一般绿色则为二进制文件,则可执行文件,不支持查看:

(2)d表示目录,蓝色显示,可以用cd 命令进入此目录:

36528a47de95fbdcc59abf558b95f999.png-wh_

(3)c表示字符设备,黄色显示,如键盘、鼠标,tty等。

(4)b表示块设备,黄色显示,一般为硬盘设备。

[root@localhost .ssh]# ls -ld /dev/sr0

lrwxrwxrwx 1 root root           3 10月 19 19:12 cdrom -> sr0

(5)l表示软连接,粉色显示,后面会学习,相当于widows的快捷方式:

[root@localhost .ssh]# ls -ld /dev/cdrom

lrwxrwxrwx 1 root root 3 10月 19 19:12 /dev/cdrom -> sr0

(6)、s:socket 文件,粉色显示,用于用户进程间通信,两种方式:tcp/ip 或socket通信:

[root@localhost .ssh]# ls -l /dev/log

srw-rw-rw- 1 root root 0 10月 19 19:11 /dev/log

四·alias 别名介绍:alias用于添加别名,有时候当我们输入的字符串太长的时候,可以用alias来缩短命令,方便输入和记忆,看官们看完下面就明白啦。

如何查看别名:which  后面加命令      which    ls

[root@localhost /]# which ls
alias ls='ls --color=auto'
        /usr/bin/ls

其实which也是查找的环境变量PATH,才会显示对应的路径,后面我们还会详细介绍这个命令,如下:

[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

格式:alias   别名 =  ‘命令的本来路径’

如上图,命令的本来路径/usr/bin/ls,此时我们为它链接到别名ls.

图中的--color=auto 是添加颜色的,前面文件类型的颜色。

那如何查看系统中的所有别名呢,用alias:

[root@localhost /]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
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'

那下面学习添加一个别名:

添加别名yuanhh到ls

[root@localhost .ssh]# alias

alias yuanhh='ls -la / --color=auto'

此时用yuanhh查看的时,则是已添加的别名了:

[root@localhost /]# alias yuanhh='ls -la / --color=auto'
[root@localhost /]# yuanhh |head -5
总用量 20
dr-xr-xr-x.  17 root root  244 5月  31 16:57 .
dr-xr-xr-x.  17 root root  244 5月  31 16:57 ..
-rw-r--r--    1 root root    0 5月  31 16:57 .autorelabel
lrwxrwxrwx.   1 root root    7 5月  31 22:04 bin -> usr/bin

那么我们如何取消别名:unalias   别名

[root@localhost /]# unalias yuanhh
[root@localhost /]# yuanhh
-bash: yuanhh: 未找到命令

如上图,我们已经取消了别名,则再输入别名查看则无效。

 

转载于:https://my.oschina.net/yuanhaohao/blog/1822510

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值