概述
2.1/2.2 系统目录结构
ls命令可以列写目录,可以看一下根目录下的内容。
[root@lhy ~]# ls /
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
root用户的家目录就在/root/
[root@lhy ~]# ls /root
anaconda-ks.cfg
openscap_data
家目录用于存储用户的配置文件和普通文件,比如
[root@lhy ~]# ls /root/.ssh/authorized_keys
/root/.ssh/authorized_keys
如果我希望通过ssh连接一个普通的非root用户,那么就需要把这个配置文件(公钥)放置在对应用户的家目录里(/etc/ssh/sshd_config文件规定的)。比如,新建一个用户lhy01,这个配置文件就需要放置在/home/lhy01/下,这个目录在创建用户时候会自动创建。
[root@lhy ~]# useradd lhy01
[root@lhy ~]# ls /home/
lhy01
[root@lhy ~]# ls /home/lhy01/ -a
.
..
.bash_logout
.bash_profile
.bashrc
想查看一个目录有什么子目录,可以用tree命令。如果没有安装可以用yum安装。
[root@lhy ~]# yum install tree -y
Loaded plugins: fastestmirror
base
| 3.6 kB
00:00:00
extras
| 3.4 kB
00:00:00
updates
| 3.4 kB
00:00:00
(1/2): extras/7/x86_64/primary_db
| 147 kB
00:00:00
(2/2): updates/7/x86_64/primary_db
| 2.0 MB
00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.163.com
* updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================================
Package
Arch
Version
Repository
Size
===========================================================================================================================
Installing:
tree
x86_64
1.6.0-10.el7
base
46 k
Transaction Summary
===========================================================================================================================
Install
1 Package
Total download size: 46 k
Installed size: 87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm
|
46 kB
00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : tree-1.6.0-10.el7.x86_64
1/1
Verifying
: tree-1.6.0-10.el7.x86_64
1/1
Installed:
tree.x86_64 0:1.6.0-10.el7
Complete!
tree可以简单的可以显示一个文档
tree /
但是由于文件过于多,可能突破Xshell的ScrollBack上限。我们用参数来显示两层目录。查看tree的用法有两种,一种是用tree本身来看,另一种是用Manual Page命令。
[root@lhy ~]# tree --help
usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]
[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
[--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]
------- Listing options -------
-a
All files are listed.
-d
List directories only.
-l
Follow symbolic links like directories.
-f
Print the full path prefix for each file.
-x
Stay on current filesystem only.
-L level
Descend only level directories deep.
-R
Rerun tree when max dir level reached.
-P pattern
List only those files that match the pattern given.
-I pattern
Do not list files that match the given pattern.
--noreport
Turn off file/directory count at end of tree listing.
--charset X
Use charset X for terminal/HTML and indentation line output.
--filelimit # Do not descend dirs with more than # files in them.
--timefmt <f> Print and format time according to the format <f>.
-o filename
Output to file instead of stdout.
--du
Print directory sizes.
--prune
Prune empty directories from the output.
-------- File options ---------
-q
Print non-printable characters as '?'.
-N
Print non-printable characters as is.
-Q
Quote filenames with double quotes.
-p
Print the protections for each file.
-u
Displays file owner or UID number.
-g
Displays file group owner or GID number.
-s
Print the size in bytes of each file.
-h
Print the size in a more human readable way.
--si
Like -h, but use in SI units (powers of 1000).
-D
Print the date of last modification or (-c) status change.
-F
Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
--inodes
Print inode number of each file.
--device
Print device ID number to which each file belongs.
------- Sorting options -------
-v
Sort files alphanumerically by version.
-r
Sort files in reverse alphanumeric order.
-t
Sort files by last modification time.
-c
Sort files by last status change time.
-U
Leave files unsorted.
--dirsfirst
List directories before files (-U disables).
------- Graphics options ------
-i
Don't print indentation lines.
-A
Print ANSI lines graphic indentation lines.
-S
Print with ASCII graphics indentation lines.
-n
Turn colorization off always (-C overrides).
-C
Turn colorization on always.
------- XML/HTML options -------
-X
Prints out an XML representation of the tree.
-H baseHREF
Prints out HTML format with baseHREF as top directory.
-T string
Replace the default HTML title and H1 header with string.
--nolinks
Turn off hyperlinks in HTML output.
---- Miscellaneous options ----
--version
Print version and exit.
--help
Print usage and this help message and exit.
[root@lhy ~]# man tree
TREE(1)
General Commands Manual
TREE(1)
NAME
tree - list contents of directories in a tree-like format.
SYNOPSIS
tree
[-acdfghilnpqrstuvxACDFQNSUX]
[-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pat‐
tern] [-I pattern] [--inodes] [--device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #]
[--si]
[--prune] [--du] [--timefmt format] [directory ...]
DESCRIPTION
Tree
is
a
recursive
directory listing program that produces a depth indented listing of files, which is col‐
orized ala dircolors if the LS_COLORS environment variable is set and output is to tty.
With no arguments, tree
lists
the
files in the current directory.
When directory arguments are given, tree lists all the files and/or
directories found in the given directories each in turn.
Upon
completion
of
listing
all
files/directories
found, tree returns the total number of files and/or directories listed.
By
default, when a symbolic link is encountered, the path that the symbolic link refers to is printed after the
name of the link in the format:
name -> real-path
If the `-l' option is given and the symbolic link refers to an actual directory, then tree will follow the
path
of the symbolic link as if it were a real directory.
OPTIONS
Tree understands the following command line switches:
LISTING OPTIONS
-a
All files are printed.
By default tree does not print hidden files (those beginning with a dot `.').
In
no event does tree print the file system constructs `.' (current directory)
and
`..'
(previous
direc‐
tory).
-d
List directories only.
-l
Follows
symbolic
links
if
they point to directories, as if they were directories. Symbolic links that
will result in recursion are avoided when detected.
-f
Prints the full path prefix for each file.
-x
Stay on the current file-system only.
Ala find -xdev.
-L level
Max display depth of the directory tree.
-R
Recursively cross down the tree each level directories (see -L option), and at each of them execute
tree
again adding `-o 00Tree.html' as a new option.
-P pattern
List
only
those
files that match the wild-card pattern.
Note: you must use the -a option to also con‐
sider those files beginning with a dot `.'
for matching.
Valid wildcard operators are `*' (any zero
or
more
characters),
`?'
(any
single
character),
`[...]' (any single character listed between brackets
(optional - (dash) for character range may be used: ex: [A-Z]), and `[^...]' (any
single
character
not
listed in brackets) and `|' separates alternate patterns.
-I pattern
Do not list those files that match the wild-card pattern.
--prune
Makes
tree
prune empty directories from the output, useful when used in conjunction with -P or -I.
See
BUGS AND NOTES below for more information on this option.
--noreport
Omits printing of the file and directory report at the end of the tree listing.
--charset charset
Set the character set to use when outputting HTML and for line drawing.
--filelimit #
Do not descend directories that contain more than # entries.
--timefmt format
Prints (implies -D) and formats the date according to the format string which uses the
strftime(3)
syn‐
tax.
-o filename
Send output to filename.
FILE OPTIONS
-q
Print non-printable characters in filenames as question marks instead of the default.
-N
Print non-printable characters as is instead of as escaped octal numbers.
-Q
Quote the names of files in double quotes.
-p
Print the file type and permissions for each file (as per ls -l).
-u
Print the username, or UID # if no username is available, of the file.
-g
Print the group name, or GID # if no group name is available, of the file.
-s
Print the size of each file in bytes along with the name.
-h
Print
the size of each file but in a more human readable way, e.g. appending a size letter for kilobytes
(K), megabytes (M), gigabytes (G), terabytes (T), petabytes (P) and exabytes (E).
--si
Like -h but use SI units (powers of 1000) instead.
--du
For each directory report its size as the accumulation of sizes of all its files and sub-directories (and
their
files, and so on).
The total amount of used space is also given in the final report (like the 'du
-c' command.) This option requires tree to read the entire directory tree before emitting
it,
see
BUGS
AND NOTES below.
Implies -s.
-D
Print
the
date of the last modification time or if -c is used, the last status change time for the file
listed.
-F
Append a `/' for directories, a `=' for socket files, a
`*'
for
executable
files,
a
`>'
for
doors
(Solaris) and a `|' for FIFO's, as per ls -F
-F
Append a `/' for directories, a `=' for socket files, a
`*'
for
executable
files,
a
`>'
for
doors
(Solaris) and a `|' for FIFO's, as per ls -F
--inodes
Prints the inode number of the file or directory
--device
Prints the device number to which the file or directory belongs
SORTING OPTIONS
-v
Sort the output by version.
-r
Sort the output in reverse alphabetic order.
-t
Sort the output by last modification time instead of alphabetically.
-c
Sort
the
output
by
last status change instead of alphabetically.
Modifies the -D option (if used) to
print the last status change instead of modification time.
-U
Do not sort.
Lists files in directory order. Disables --dirsfirst.
--dirsfirst
List directories before files. This is a meta-sort that alters the above sorts.
This option is
disabled
when -U is used.
GRAPHICS OPTIONS
-i
Makes tree not print the indentation lines, useful when used in conjunction with the -f option.
-A
Turn on ANSI line graphics hack when printing the indentation lines.
-S
Turn
on
ASCII line graphics (useful when using Linux console mode fonts). This option is now equivalent
to `--charset=IBM437' and may eventually be depreciated.
-n
Turn colorization off always, over-ridden by the -C option.
-C
Turn colorization on always, using built-in color defaults if the LS_COLORS environment variable
is
not
set.
Useful to colorize output to a pipe.
XML/HTML OPTIONS
-X
Turn on XML output. Outputs the directory tree as an XML formatted file.
-H baseHREF
Turn
on HTML output, including HTTP references. Useful for ftp sites.
baseHREF gives the base ftp loca‐
tion when using HTML output. That is, the local directory may be `/local/ftp/pub', but it must be
refer‐
enced
as
`ftp://hostname.organization.domain/pub'
(baseHREF
should
be
`ftp://hostname.organiza‐
tion.domain'). Hint: don't use ANSI lines with this option, and don't give more than one directory in the
directory
list.
If
you
wish
to use colors via CCS style-sheet, use the -C option in addition to this
option to force color output.
-T title
Sets the title and H1 header string in HTML output mode.
--nolinks
Turns off hyperlinks in HTML output.
MISC OPTIONS
--help Outputs a verbose usage listing.
--version
Outputs the version of tree.
FILES
/etc/DIR_COLORS
System color database.
~/.dircolors
Users color database.
ENVIRONMENT
LS_COLORS
Color information created by dircolors
TREE_COLORS
Uses this for color information over LS_COLORS if it is set.
TREE_CHARSET
Character set for tree to use in HTML mode.
LC_CTYPE
Locale for filename output.
LC_TIME
Locale for timefmt output, see strftime(3).
TZ
Timezone for timefmt output, see strftime(3).
AUTHOR
Steve Baker (ice@mama.indstate.edu)
HTML output hacked by Francesc Rocher (rocher@econ.udg.es)
Charsets and OS/2 support by Kyosuke Tokoro (NBG01720@nifty.ne.jp)
BUGS AND NOTES
Tree does not prune "empty" directories when the -P and -I options are used by default. Use the --prune option.
The -h and --si options round to the nearest whole number unlike the ls implementations which rounds up always.
Pruning files and directories with the -I, -P and --filelimit options
will
lead
to
incorrect
file/directory
count reports.
The
--prune
and
--du options cause tree to accumulate the entire tree in memory before emitting it. For large
directory trees this can cause a significant delay in output and the use of large amounts of memory.
The timefmt expansion buffer is limited to a ridiculously large 255 characters.
Output of time
strings
longer
than this will be undefined, but are guaranteed to not exceed 255 characters.
XML trees are not colored, which is a bit of a shame.
Probably more.
SEE ALSO
dircolors(1), ls(1), find(1), du(1), strftime(3)
Tree 1.6.0
Manual page tree(1) line 1 (press h for help or q to quit)
可以看到用-L参数可以设置最深搜索层数,-d只显示文件夹。
[root@lhy ~]# tree / -L 2 -d
/
├── bin -> usr/bin
├── boot
│ ├── efi
│ ├── grub
│ └── grub2
├── dev
│ ├── block
│ ├── bsg
│ ├── bus
│ ├── char
│ ├── cpu
│ ├── disk
│ ├── dri
│ ├── fd -> /proc/self/fd
│ ├── hugepages
│ ├── input
│ ├── mapper
│ ├── mqueue
│ ├── net
│ ├── pts
│ ├── raw
│ ├── shm
│ ├── snd
│ └── vfio
├── etc
│ ├── alternatives
│ ├── audisp
│ ├── audit
│ ├── bash_completion.d
│ ├── binfmt.d
│ ├── chkconfig.d
│ ├── cron.d
│ ├── cron.daily
│ ├── cron.hourly
│ ├── cron.monthly
│ ├── cron.weekly
│ ├── dbus-1
│ ├── default
│ ├── depmod.d
│ ├── dhcp
│ ├── dracut.conf.d
│ ├── firewalld
│ ├── gcrypt
│ ├── gnupg
│ ├── groff
│ ├── grub.d
│ ├── gss
│ ├── init.d -> rc.d/init.d
│ ├── iproute2
│ ├── kernel
│ ├── krb5.conf.d
│ ├── ld.so.conf.d
│ ├── libnl
│ ├── logrotate.d
│ ├── modprobe.d
│ ├── modules-load.d
│ ├── my.cnf.d
│ ├── NetworkManager
│ ├── openldap
│ ├── opt
│ ├── pam.d
│ ├── pkcs11
│ ├── pki
│ ├── plymouth
│ ├── pm
│ ├── polkit-1
│ ├── popt.d
│ ├── postfix
│ ├── ppp
│ ├── prelink.conf.d
│ ├── profile.d
│ ├── python
│ ├── rc0.d -> rc.d/rc0.d
│ ├── rc1.d -> rc.d/rc1.d
│ ├── rc2.d -> rc.d/rc2.d
│ ├── rc3.d -> rc.d/rc3.d
│ ├── rc4.d -> rc.d/rc4.d
│ ├── rc5.d -> rc.d/rc5.d
│ ├── rc6.d -> rc.d/rc6.d
│ ├── rc.d
│ ├── rpm
│ ├── rsyslog.d
│ ├── rwtab.d
│ ├── sasl2
│ ├── security
│ ├── selinux
│ ├── sgml
│ ├── skel
│ ├── ssh
│ ├── ssl
│ ├── statetab.d
│ ├── sudoers.d
│ ├── sysconfig
│ ├── sysctl.d
│ ├── systemd
│ ├── terminfo
│ ├── tmpfiles.d
│ ├── tuned
│ ├── udev
│ ├── vmware-tools
│ ├── wpa_supplicant
│ ├── X11
│ ├── xdg
│ ├── xinetd.d
│ ├── xml
│ ├── yum
│ └── yum.repos.d
├── home
│ └── lhy01
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
│ ├── 1
│ ├── 10
│ ├── 11
│ ├── acpi
│ ├── asound
│ ├── bus
│ ├── driver
│ ├── fs
│ ├── irq
│ ├── mpt
│ ├── net -> self/net
│ ├── scsi
│ ├── self -> 1879
│ ├── sys
│ ├── sysvipc
│ └── tty
├── root
│ └── openscap_data
├── run
│ ├── console
│ ├── dbus
│ ├── faillock
│ ├── firewalld
│ ├── initramfs
│ ├── lock
│ ├── log
│ ├── mount
│ ├── netreport
│ ├── NetworkManager
│ ├── plymouth
│ ├── sepermit
│ ├── setrans
│ ├── sudo
│ ├── systemd
│ ├── tmpfiles.d
│ ├── tuned
│ ├── udev
│ ├── user
│ └── vmware
├── sbin -> usr/sbin
├── srv
├── sys
│ ├── block
│ ├── bus
│ ├── class
│ ├── dev
│ ├── devices
│ ├── firmware
│ ├── fs
│ ├── hypervisor
│ ├── kernel
│ ├── module
│ └── power
├── tmp
│ ├── systemd-private-72a51b409754493b803ada2e9f1e8ca6-vgauthd.service-SJRZXu
│ ├── systemd-private-72a51b409754493b803ada2e9f1e8ca6-vmtoolsd.service-Ct0xiS
│ ├── systemd-private-b5d827de47c64188ae996c7b05c8f1b2-vgauthd.service-SHMZTz
│ └── systemd-private-b5d827de47c64188ae996c7b05c8f1b2-vmtoolsd.service-LXMW2A
├── usr
│ ├── bin
│ ├── etc
│ ├── games
│ ├── include
│ ├── lib
│ ├── lib64
│ ├── libexec
│ ├── local
│ ├── sbin
│ ├── share
│ ├── src
│ └── tmp -> ../var/tmp
└── var
├── adm
├── cache
├── crash
├── db
├── empty
├── games
├── gopher
├── kerberos
├── lib
├── local
├── lock -> ../run/lock
├── log
├── mail -> spool/mail
├── nis
├── opt
├── preserve
├── run -> ../run
├── spool
├── tmp
└── yp
370 directories
目录/usr/bin/ /usr/sbin/ /bin/ /sbin/ 这几个目录中保存的是一系列的命令。为什么直接敲命令而不需要执行具体目录下的文件,这是因为环境变量PATH的作用,这点之后再讲。
/sbin/下的命令一般是root用户的命令,普通用户下的命令一般是/bin/下的。
[root@lhy ~]# ls /sbin/
accessdb
e2fsck
ip
nl-link-list
sestatus
addgnupghome
e2image
ip6tables
nl-pktloc-lookup
setcap
addpart
e2label
ip6tables-restore
nl-qdisc-add
setenforce
adduser
e2undo
ip6tables-save
nl-qdisc-delete
setfiles
agetty
e4defrag
ipmaddr
nl-qdisc-list
setpci
aide
eapol_test
iprconfig
nologin
setsebool
alternatives
ebtables
iprdbg
nstat
sfdisk
anacron
ebtables-restore
iprdump
ownership
shutdown
applygnupgdefaults
ebtables-save
iprinit
packer
slattach
arp
ether-wake
iprsos
pam_console_apply
sln
arpd
ethtool
iprupdate
pam_tally2
smtp-sink
arping
faillock
ipset
pam_timestamp_check
smtp-source
audispd
fdformat
iptables
parted
ss
auditctl
fdisk
iptables-restore
partprobe
sshd
auditd
filefrag
iptables-save
partx
sshd-keygen
augenrules
findfs
iptunnel
pidof
sulogin
aureport
firewalld
irqbalance
ping6
sushell
ausearch
fixfiles
kdump
pivot_root
swaplabel
authconfig
fsck
kexec
plipconfig
swapoff
authconfig-tui
fsck.btrfs
killall5
plymouthd
swapon
autrace
fsck.cramfs
kpartx
plymouth-set-default-theme
switch_root
avcstat
fsck.ext2
lchage
postalias
sysctl
badblocks
fsck.ext3
ldattach
postcat
sys-unconfig
biosdecode
fsck.ext4
ldconfig
postconf
tc
biosdevname
fsck.minix
lgroupadd
postdrop
telinit
blkdeactivate
fsck.xfs
lgroupdel
postfix
tracepath
blkdiscard
fsfreeze
lgroupmod
postkick
tracepath6
blkid
fstrim
lid
postlock
tune2fs
blockdev
fxload
lnewusers
postlog
tuned
bridge
genhomedircon
lnstat
postmap
tuned-adm
btrfs
genhostid
load_policy
postmulti
udevadm
btrfsck
genl
logrotate
postqueue
unix_chkpwd
btrfs-convert
genl-ctrl-list
logsave
postsuper
unix_update
btrfs-debug-tree
getcap
losetup
poweroff
update-alternatives
btrfs-find-root
getenforce
lpasswd
ppp-watch
update-pciids
btrfs-image
getpcaps
lsmod
pwck
useradd
btrfs-map-logical
getsebool
lspci
pwconv
userdel
btrfs-select-super
glibc_post_upgrade.x86_64
luseradd
pwhistory_helper
usermod
btrfstune
groupadd
luserdel
pwunconv
usernetctl
btrfs-zero-log
groupdel
lusermod
rdisc
vigr
build-locale-archive
groupmems
makedumpfile
readprofile
vipw
cacertdir_rehash
groupmod
matchpathcon
reboot
virt-what
capsh
grpck
mii-diag
resize2fs
visudo
cbq
grpconv
mii-tool
resizepart
vmcore-dmesg
cfdisk
grpunconv
mkdict
restorecon
vpddecode
chcpu
grub2-bios-setup
mkdumprd
rmmod
weak-modules
chkconfig
grub2-get-kernel-settings
mke2fs
route
wipefs
chpasswd
grub2-install
mkfs
routef
wpa_cli
chroot
grub2-mkconfig
mkfs.btrfs
routel
wpa_passphrase
clock
grub2-ofpathname
mkfs.cramfs
rsyslogd
wpa_supplicant
clockdiff
grub2-probe
mkfs.ext2
rtacct
xfs_admin
consoletype
grub2-reboot
mkfs.ext3
rtcwake
xfs_bmap
cracklib-check
grub2-rpm-sort
mkfs.ext4
rtmon
xfs_copy
cracklib-format
grub2-set-default
mkfs.minix
rtpr
xfs_db
cracklib-packer
grub2-setpassword
mkfs.xfs
rtstat
xfs_estimate
cracklib-unpacker
grub2-sparc64-setup
mkhomedir_helper
runlevel
xfs_freeze
create-cracklib-dict
grubby
mklost+found
runuser
xfs_fsr
crond
halt
mkswap
sasldblistusers2
xfs_growfs
ctrlaltdel
hardlink
modinfo
saslpasswd2
xfs_info
ctstat
hwclock
modprobe
sefcontext_compile
xfs_io
debugfs
iconvconfig
mount.fuse
selabel_digest
xfs_logprint
delpart
iconvconfig.x86_64
nameif
selabel_lookup
xfs_mdrestore
depmod
ifcfg
netreport
selabel_lookup_best_match
xfs_metadump
devlink
ifconfig
NetworkManager
selabel_partial_match
xfs_mkfile
dhclient
ifdown
new-kernel-pkg
selinuxconlist
xfs_ncheck
dhclient-script
ifenslave
newusers
selinuxdefcon
xfs_quota
dmfilemapd
ifstat
nl-class-add
selinuxenabled
xfs_repair
dmidecode
ifup
nl-class-delete
selinuxexeccon
xfs_rtcp
dmsetup
init
nl-classid-lookup
selinux_restorecon
xtables-multi
dmstats
insmod
nl-class-list
semodule
zdump
dracut
install-info
nl-cls-add
sendmail
zic
dumpe2fs
installkernel
nl-cls-delete
sendmail.postfix
zramctl
e2freefrag
intel-microcode2ucode
nl-cls-list
service
[root@lhy ~]# ls /bin/
[
groups
nl-link-set
sotruss
a2p
grub2-editenv
nl-link-stats
splain
addr2line
grub2-file
nl-list-caches
split
alias
grub2-fstest
nl-list-sockets
sprof
apropos
grub2-glue-efi
nl-monitor
sqlite3
ar
grub2-kbdcomp
nl-neigh-add
ssh
arch
grub2-menulst2cfg
nl-neigh-delete
ssh-add
as
grub2-mkfont
nl-neigh-list
ssh-agent
aserver
grub2-mkimage
nl-neightbl-list
ssh-copy-id
aulast
grub2-mklayout
nl-pktloc-lookup
ssh-keygen
aulastlog
grub2-mknetdir
nl-qdisc-add
ssh-keyscan
ausyscall
grub2-mkpasswd-pbkdf2
nl-qdisc-delete
ssltap
auvirt
grub2-mkrelpath
nl-qdisc-list
stat
awk
grub2-mkrescue
nl-route-add
stdbuf
base64
grub2-mkstandalone
nl-route-delete
strings
basename
grub2-script-check
nl-route-get
strip
bash
grub2-syslinux2cfg
nl-route-list
stty
bashbug
gsettings
nl-rule-list
su
bashbug-64
gsoelim
nl-tctree-list
sudo
bg
gtar
nl-util-addr
sudoedit
bond2team
gtbl
nm
sudoreplay
bootctl
gtroff
nmcli
sum
busctl
gunzip
nm-online
sync
c2ph
gzexe
nmtui
systemctl
cal
gzip
nmtui-connect
systemd-analyze
ca-legacy
h2ph
nmtui-edit
systemd-ask-password
captoinfo
hdsploader
nmtui-hostname
systemd-cat
cat
head
nohup
systemd-cgls
catchsegv
hexdump
nproc
systemd-cgtop
catman
hostid
nroff
systemd-coredumpctl
cd
hostname
nsenter
systemd-delta
centrino-decode
hostnamectl
numfmt
systemd-detect-virt
certutil
i386
objcopy
systemd-escape
c++filt
iconv
objdump
systemd-firstboot
chacl
id
od
systemd-hwdb
chage
idiag-socket-details
oldfind
systemd-inhibit
chattr
idn
open
systemd-loginctl
chcon
igawk
openssl
systemd-machine-id-setup
chfn
info
openvt
systemd-notify
chgrp
infocmp
oscap
systemd-nspawn
chmod
infokey
os-prober
systemd-path
chown
infotocap
p11-kit
systemd-run
chrt
install
passwd
systemd-stdio-bridge
chsh
ionice
paste
systemd-sysv-convert
chvt
ipcalc
pathchk
systemd-tmpfiles
cksum
ipcmk
pchrt
systemd-tty-ask-password-agent
clear
ipcrm
perl
tabs
cmp
ipcs
perl5.16.3
tac
cmsutil
iptables-xml
perlbug
tail
col
isosize
perldoc
tailf
colcrt
jobs
perlthanks
tar
colrm
join
pflags
taskset
column
journalctl
pgawk
tbl
comm
kbdinfo
pgrep
teamd
command
kbd_mode
pic
teamdctl
coredumpctl
kbdrate
piconv
teamnl
cp
kdumpctl
pinentry
tee
cpio
kernel-install
pinentry-curses
test
cpupower
kill
ping
testgdbm
crlutil
kmod
ping6
tic
crontab
last
pinky
timedatectl
csplit
lastb
pk12util
timeout
csslint-0.6
lastlog
pkaction
tload
curl
lchfn
pkcheck
tmon
cut
lchsh
pkexec
toe
date
ld
pkg-config
top
db_archive
ld.bfd
pkill
touch
db_checkpoint
ldd
pkla-admin-identities
tput
db_deadlock
ld.gold
pkla-check-authorization
tr
db_dump
less
pkttyagent
tracepath
db_dump185
lessecho
pl2pm
tracepath6
db_hotbackup
lesskey
pldd
tree
db_load
lesspipe.sh
plymouth
troff
db_log_verify
lexgrog
pmap
true
db_printlog
link
pod2html
truncate
db_recover
linux32
pod2man
trust
db_replicate
linux64
pod2text
tset
db_stat
linux-boot-prober
pod2usage
tsort
db_tuner
ln
post-grohtml
tty
db_upgrade
loadkeys
powernow-k8-decode
turbostat
dbus-binding-tool
loadunimap
pr
tzselect
dbus-cleanup-sockets
locale
preconv
udevadm
dbus-daemon
localectl
pre-grohtml
ul
dbus-monitor
localedef
printenv
ulockmgr_server
dbus-send
logger
printf
umask
dbus-uuidgen
login
prlimit
umount
db_verify
loginctl
ps
unalias
dd
logname
psed
uname
deallocvt
look
psfaddtable
unexpand
df
ls
psfgettable
unicode_start
dgawk
lsattr
psfstriptable
unicode_stop
diff
lsblk
psfxtable
uniq
diff3
lscpu
pstruct
unlink
dir
lsinitrd
ptaskset
unshare
dircolors
lsipc
ptx
unxz
dirname
lslocks
pwd
update-ca-trust
dmesg
lslogins
pwdx
update-mime-database
dnsdomainname
lsns
pwmake
uptime
domainname
lsscsi
pwscore
urlgrabber
dracut
lua
pydoc
users
du
luac
python
usleep
dumpkeys
machinectl
python2
usx2yloader
dwp
mailq
python2.7
utmpdump
echo
mailq.postfix
ranlib
uuidgen
egrep
make
raw
vdir
eject
makedb
read
VGAuthService
elfedit
man
readelf
vi
env
mandb
readlink
view
envsubst
manpath
realpath
vim
eqn
mapscrn
recode-sr-latin
vimdiff
ex
mcookie
rename
vimtutor
expand
md5sum
renice
vlock
expr
mesg
reset
vmhgfs-fuse
factor
mixartloader
resizecons
vmstat
fallocate
mkdir
rev
vm-support
false
mkfifo
rm
vmtoolsd
fc
mkinitrd
rmail
vmware-checkvm
fg
mknod
rmail.postfix
vmware-guestproxycerttool
fgconsole
mktemp
rmdir
vmware-hgfsclient
fgrep
modutil
rpcgen
vmware-namespace-cmd
file
more
rpm
vmware-rpctool
find
mount
rpm2cpio
vmware-toolbox-cmd
find2perl
mountpoint
rpmdb
vmware-vgauth-cmd
findmnt
msgattrib
rpmkeys
vmware-xferlogs
fipscheck
msgcat
rpmquery
vxloader
fipshmac
msgcmp
rpmverify
w
firewall-cmd
msgcomm
rsyslog-recover-qi.pl
wait
firewall-offline-cmd
msgconv
runcon
wall
flock
msgen
run-parts
watch
fmt
msgexec
rvi
watchgnupg
fold
msgfilter
rview
wc
free
msgfmt
rvim
wdctl
fusermount
msggrep
s2p
whatis
gapplication
msghack
scp
whereis
gawk
msginit
script
which
gdbus
msgmerge
scriptreplay
whiptail
gencat
msgunfmt
sdiff
who
genl-ctrl-list
msguniq
secon
whoami
geoiplookup
mv
sed
write
geoiplookup6
namei
seq
x86_64
geoipupdate
ndptool
setarch
x86_energy_perf_policy
geqn
neqn
setfacl
xargs
getconf
netstat
setfont
xgettext
getent
newaliases
setkeycodes
xmlcatalog
getfacl
newaliases.postfix
setleds
xmllint
getkeycodes
newgrp
setmetamode
xmlsec1
getopt
nf-ct-add
setpriv
xmlwf
getopts
nf-ct-list
setsid
xsltproc
gettext
nf-exp-add
setterm
xxd
gettext.sh
nf-exp-delete
setup-nsssysinit
xz
gio
nf-exp-list
setup-nsssysinit.sh
xzcat
gio-querymodules-64
nf-log
setvtrgb
xzcmp
glib-compile-schemas
nf-monitor
sftp
xzdec
gmake
nf-queue
sg
xzdiff
gneqn
ngettext
sh
xzegrep
gnroff
nice
sha1sum
xzfgrep
gpasswd
nisdomainname
sha224sum
xzgrep
gpg
nl
sha256sum
xzless
gpg2
nl-addr-add
sha384sum
xzmore
gpg-agent
nl-addr-delete
sha512sum
yes
gpgconf
nl-addr-list
showconsolefont
ypdomainname
gpg-connect-agent
nl-class-add
showkey
yum
gpg-error
nl-class-delete
shred
zcat
gpgparsemail
nl-classid-lookup
shuf
zcmp
gpgsplit
nl-class-list
signtool
zdiff
gpgv
nl-cls-add
signver
zegrep
gpgv2
nl-cls-delete
size
zfgrep
gpg-zip
nl-cls-list
skill
zforce
gpic
nl-fib-lookup
slabtop
zgrep
gprof
nl-link-enslave
sleep
zless
grep
nl-link-ifindex2name
slogin
zmore
groff
nl-link-list
snice
znew
grops
nl-link-name2ifindex
soelim
zsoelim
grotty
nl-link-release
sort
/boot/下的文件是启动相关的文件,比如grub文件。比如删除了vmlinuz-3.10.0-693.el7.x86_64这些文件,你就不能正常启动这个系统了。
[root@lhy ~]# ls /boot/
config-3.10.0-693.el7.x86_64
initramfs-3.10.0-693.el7.x86_64kdump.img
efi
initrd-plymouth.img
grub
symvers-3.10.0-693.el7.x86_64.gz
grub2
System.map-3.10.0-693.el7.x86_64
initramfs-0-rescue-7b83625f83564e1691eca0a488be153c.img
vmlinuz-0-rescue-7b83625f83564e1691eca0a488be153c
initramfs-3.10.0-693.el7.x86_64.img
vmlinuz-3.10.0-693.el7.x86_64
/dev/文件是linux系统的特有的设备文件,鼠标、键盘、显示器等文件都保存在这里。
[root@lhy ~]# ls /dev/
agpgart
dmmidi
log
port
shm
tty14
tty27
tty4
tty52
tty8
vcs
vfio
autofs
dri
loop-control
ppp
snapshot
tty15
tty28
tty40
tty53
tty9
vcs1
vga_arbiter
block
fb0
mapper
ptmx
snd
tty16
tty29
tty41
tty54
ttyS0
vcs2
vhci
bsg
fd
mcelog
pts
sr0
tty17
tty3
tty42
tty55
ttyS1
vcs3
vhost-net
btrfs-control
fd0
mem
random
stderr
tty18
tty30
tty43
tty56
ttyS2
vcs4
vmci
bus
full
midi
raw
stdin
tty19
tty31
tty44
tty57
ttyS3
vcs5
vsock
cdrom
fuse
mqueue
rtc
stdout
tty2
tty32
tty45
tty58
uhid
vcs6
zero
char
hidraw0
net
rtc0
tty
tty20
tty33
tty46
tty59
uinput
vcsa
console
hpet
network_latency
sda
tty0
tty21
tty34
tty47
tty6
urandom
vcsa1
core
hugepages
network_throughput
sda1
tty1
tty22
tty35
tty48
tty60
usbmon0
vcsa2
cpu
hwrng
null
sda2
tty10
tty23
tty36
tty49
tty61
usbmon1
vcsa3
cpu_dma_latency
initctl
nvram
sda3
tty11
tty24
tty37
tty5
tty62
usbmon2
vcsa4
crash
input
oldmem
sg0
tty12
tty25
tty38
tty50
tty63
usbmon3
vcsa5
disk
kmsg
parport0
sg1
tty13
tty26
tty39
tty51
tty7
usbmon4
vcsa6
/etc/文件夹是系统的配置文件所在的位置。
[root@lhy ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-ens33
[root@lhy ~]# ls /etc/ssh/sshd_config
/etc/ssh/sshd_config
[root@lhy ~]# ls /etc/
adjtime
ethertypes
ld.so.conf
popt.d
skel
aide.conf
exports
ld.so.conf.d
postfix
ssh
aliases
favicon.png
libaudit.conf
ppp
ssl
aliases.db
filesystems
libnl
prelink.conf.d
statetab
alternatives
firewalld
libuser.conf
printcap
statetab.d
anacrontab
fstab
locale.conf
profile
subgid
asound.conf
fuse.conf
localtime
profile.d
subuid
audisp
gcrypt
login.defs
protocols
sudo.conf
audit
GeoIP.conf
logrotate.conf
python
sudoers
bash_completion.d
GeoIP.conf.default
logrotate.d
rc0.d
sudoers.d
bashrc
gnupg
machine-id
rc1.d
sudo-ldap.conf
binfmt.d
GREP_COLORS
magic
rc2.d
sysconfig
centos-release
groff
makedumpfile.conf.sample
rc3.d
sysctl.conf
centos-release-upstream
group
man_db.conf
rc4.d
sysctl.d
chkconfig.d
group-
mke2fs.conf
rc5.d
systemd
cron.d
grub2.cfg
modprobe.d
rc6.d
system-release
cron.daily
grub.d
modules-load.d
rc.d
system-release-cpe
cron.deny
gshadow
motd
rc.local
terminfo
cron.hourly
gshadow-
mtab
redhat-release
tmpfiles.d
cron.monthly
gss
my.cnf
resolv.conf
tuned
crontab
host.conf
my.cnf.d
rpc
udev
cron.weekly
hostname
NetworkManager
rpm
vconsole.conf
crypttab
hosts
networks
rsyslog.conf
vimrc
csh.cshrc
hosts.allow
nsswitch.conf
rsyslog.d
virc
csh.login
hosts.deny
nsswitch.conf.bak
rwtab
vmware-tools
dbus-1
init.d
openldap
rwtab.d
wpa_supplicant
default
inittab
opt
sasl2
X11
depmod.d
inputrc
os-release
securetty
xdg
dhcp
iproute2
pam.d
security
xinetd.d
DIR_COLORS
issue
passwd
selinux
xml
DIR_COLORS.256color
issue.net
passwd-
services
yum
DIR_COLORS.lightbgcolor
kdump.conf
pkcs11
sestatus.conf
yum.conf
dracut.conf
kernel
pki
sgml
yum.repos.d
dracut.conf.d
krb5.conf
plymouth
shadow
e2fsck.conf
krb5.conf.d
pm
shadow-
environment
ld.so.cache
polkit-1
shells
/home/是用户的家目录,存用户的文件,类比于/root/
[root@lhy ~]# ls /home/
lhy01
/lib/ /lib64/等文件夹存的是库文件。库文件类似于Windows下的×.dll文件。可以用ldd命令查看某个命令的依赖库。
[root@lhy ~]# ldd /bin/ls
linux-vdso.so.1 =>
(0x00007ffd4e88f000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feffcfcf000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007feffcdca000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007feffcbc0000)
libc.so.6 => /lib64/libc.so.6 (0x00007feffc7fd000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007feffc59b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007feffc396000)
/lib64/ld-linux-x86-64.so.2 (0x00005636e812b000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007feffc191000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007feffbf75000)
CentOS7之后,CentOS操作系统就没有32位系统了。32位和64位系统的最大的区别就在于识别的内存大小不一样。如果是32位的系统,只能识别4GB内存,由于操作系统本身内存占用以及地址保留,实际可以使用的内存空间为3.2G左右。
/media/目录是媒介目录,默认是空的。如果插入优盘、硬盘,系统会自动挂载到/media目录。
/mnt/是挂载目录 ,默认也为空,可以把想要的文件系统挂载到此处。
/opt/默认也是空目录,是按完系统后你又需要安装其他的应用软件,一般是源码包的软件,可以自己指定路径,管理员习惯性的把软件按在这,你也可以安装在其他位置。
/proc/存放的是进程文件,每一个进程都有一个目录,文件夹名为PID
[root@lhy ~]# ls /proc/
1
16
265
291
304
319
332
346
399
55
641
acpi
filesystems
mdstat
softirqs
10
17
267
292
305
32
333
347
40
56
642
asound
fs
meminfo
stat
11
18
268
293
306
320
334
3535
400
57
644
buddyinfo
interrupts
misc
swaps
111
1805
27
294
307
321
335
372
401
580
645
bus
iomem
modules
sys
12
2
272
295
308
322
336
373
4018
581
647
cgroups
ioports
mounts
sysrq-trigger
1202
20
273
296
309
323
337
380
41
582
653
cmdline
irq
mpt
sysvipc
1203
21
274
297
31
324
338
383
42
583
666
consoles
kallsyms
mtrr
timer_list
1204
22
2763
298
311
325
339
391
4259
584
679
cpuinfo
kcore
net
timer_stats
1269
23
28
299
312
326
34
392
43
585
7
crypto
keys
pagetypeinfo
tty
1288
24
285
3
313
327
340
393
468
586
76
devices
key-users
partitions
uptime
1293
25
287
30
314
328
341
394
470
587
77
diskstats
kmsg
sched_debug
version
13
258
288
300
315
329
342
395
491
610
8
dma
kpagecount
schedstat
vmallocinfo
1346
260
289
301
316
33
343
396
5
634
9
driver
kpageflags
scsi
vmstat
15
263
29
302
317
330
344
397
51
636
969
execdomains
loadavg
self
zoneinfo
1525
264
290
303
318
331
345
398
53
637
970
fb
locks
slabinfo
查看某一个PID进程的文件,比如/proc/285/。其中有一个cwd,这个是进程所在的路径。比如我对于某个进程不熟悉,我就根据PID来查看这个进程是从哪执行,执行什么命令(comm文件)。
[root@lhy ~]# ls -l /proc/285/
ls: cannot read symbolic link /proc/285/exe: No such file or directory
total 0
dr-xr-xr-x. 2 root root 0 Jun
2 23:57 attr
-rw-r--r--. 1 root root 0 Jun
2 23:57 autogroup
-r--------. 1 root root 0 Jun
2 23:57 auxv
-r--r--r--. 1 root root 0 Jun
2 23:57 cgroup
--w-------. 1 root root 0 Jun
2 23:57 clear_refs
-r--r--r--. 1 root root 0 Jun
2 23:36 cmdline
-rw-r--r--. 1 root root 0 Jun
2 23:57 comm
-rw-r--r--. 1 root root 0 Jun
2 23:57 coredump_filter
-r--r--r--. 1 root root 0 Jun
2 23:57 cpuset
lrwxrwxrwx. 1 root root 0 Jun
2 23:57 cwd -> /
-r--------. 1 root root 0 Jun
2 23:57 environ
lrwxrwxrwx. 1 root root 0 Jun
2 23:57 exe
dr-x------. 2 root root 0 Jun
2 23:57 fd
dr-x------. 2 root root 0 Jun
2 23:57 fdinfo
-rw-r--r--. 1 root root 0 Jun
2 23:57 gid_map
-r--------. 1 root root 0 Jun
2 23:57 io
-r--r--r--. 1 root root 0 Jun
2 23:57 limits
-rw-r--r--. 1 root root 0 Jun
2 23:57 loginuid
dr-x------. 2 root root 0 Jun
2 23:57 map_files
-r--r--r--. 1 root root 0 Jun
2 23:57 maps
-rw-------. 1 root root 0 Jun
2 23:57 mem
-r--r--r--. 1 root root 0 Jun
2 23:57 mountinfo
-r--r--r--. 1 root root 0 Jun
2 23:57 mounts
-r--------. 1 root root 0 Jun
2 23:57 mountstats
dr-xr-xr-x. 5 root root 0 Jun
2 23:57 net
dr-x--x--x. 2 root root 0 Jun
2 23:57 ns
-r--r--r--. 1 root root 0 Jun
2 23:57 numa_maps
-rw-r--r--. 1 root root 0 Jun
2 23:57 oom_adj
-r--r--r--. 1 root root 0 Jun
2 23:57 oom_score
-rw-r--r--. 1 root root 0 Jun
2 23:57 oom_score_adj
-r--r--r--. 1 root root 0 Jun
2 23:57 pagemap
-r--r--r--. 1 root root 0 Jun
2 23:57 personality
-rw-r--r--. 1 root root 0 Jun
2 23:57 projid_map
lrwxrwxrwx. 1 root root 0 Jun
2 23:57 root -> /
-rw-r--r--. 1 root root 0 Jun
2 23:57 sched
-r--r--r--. 1 root root 0 Jun
2 23:57 schedstat
-r--r--r--. 1 root root 0 Jun
2 23:57 sessionid
-rw-r--r--. 1 root root 0 Jun
2 23:57 setgroups
-r--r--r--. 1 root root 0 Jun
2 23:57 smaps
-r--r--r--. 1 root root 0 Jun
2 23:57 stack
-r--r--r--. 1 root root 0 Jun
2 23:57 stat
-r--r--r--. 1 root root 0 Jun
2 23:57 statm
-r--r--r--. 1 root root 0 Jun
2 23:36 status
-r--r--r--. 1 root root 0 Jun
2 23:57 syscall
dr-xr-xr-x. 3 root root 0 Jun
2 23:57 task
-r--r--r--. 1 root root 0 Jun
2 23:57 timers
-rw-r--r--. 1 root root 0 Jun
2 23:57 uid_map
-r--r--r--. 1 root root 0 Jun
2 23:57 wchan
/run/是进程产生的临时文件,关机就会消失。
[root@lhy ~]# ls /run/
auditd.pid
cron.reboot
firewalld
log
NetworkManager
setrans
syslogd.pid
tuned
utmp
console
dbus
initramfs
mount
plymouth
sshd.pid
systemd
udev
vmware
crond.pid
faillock
lock
netreport
sepermit
sudo
tmpfiles.d
user
xtables.lock
/srv/文件夹默认是空的,存系统服务产生的一些文件。
/sys/存系统内核相关的文件,一般我们不去修改它们。
/tmp/是临时文件夹,任何用户都可以向其中添加文件,权限宽泛,但是普通用户之间的文件自己管理,有特殊权限,之后会讲。
/usr/是系统用户的目录,类似于根目录。
/var/目录存储的日志文件。比如系统日志存在/var/log/messages里面。
2.3 ls命令
ls命令可以列出当前目录的文件和文件夹,这是一个非常常用的一个命令,下面会介绍一下其常用参数。
列出文件的详细信息,使用参数-l
[root@lhy ~]# ls -l
total 4
-rw-------. 1 root root 1622 May 29 14:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root
40 May 29 14:04 openscap_data
第一列是文件类型与权限,第二列表示有多少文件使用了相同的inode,inode记录的是这个文件的存储位置。inode指向的是固定的一个存储块,如果两个文件inode号相同,那么它们存储的位置就是相同的,这个和后续的硬链接有关,暂且不表。第三列表示所有者,第四列表示所属组。第五列是文件大小,单位是Byte。后面就是创建时间和文件名。
查看某一文件的inode使用-i参数。
[root@lhy ~]# ls -i anaconda-ks.cfg
67145602 anaconda-ks.cfg
使用-h可以更人性化的查看文件大小。
[root@lhy ~]# ls -lh
total 4.0K
-rw-------. 1 root root 1.6K May 29 14:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root
40 May 29 14:04 openscap_data
使用-a可以查看所有文件,包括隐藏文件、隐藏目录。
[root@lhy ~]# ls -la
total 36
dr-xr-x---.
4 root root
184 Jun
1 11:53 .
dr-xr-xr-x. 17 root root
245 May 31 15:43 ..
-rw-------.
1 root root 1622 May 29 14:05 anaconda-ks.cfg
-rw-------.
1 root root 3206 Jun
1 13:52 .bash_history
-rw-r--r--.
1 root root
18 Dec 29
2013 .bash_logout
-rw-r--r--.
1 root root
176 Dec 29
2013 .bash_profile
-rw-r--r--.
1 root root
176 Dec 29
2013 .bashrc
-rw-r--r--.
1 root root
100 Dec 29
2013 .cshrc
drwxr-xr-x.
2 root root
40 May 29 14:04 openscap_data
drwx------.
2 root root
80 May 31 16:47 .ssh
-rw-r--r--.
1 root root
129 Dec 29
2013 .tcshrc
-rw-------.
1 root root 6877 Jun
1 11:53 .viminfo
每个目录下面都会有两个目录叫做当前目录(./)上一级目录(../),下面显示的就是为什么/root/的inode是4,因为有四个相同的目录指向同一个位置。一般来说对于目录来说,这个inode的个数和其下子目录数相同。
[root@lhy ~]# ls -i /root/
67145602 anaconda-ks.cfg
101110119 openscap_data
[root@lhy ~]# ls -i .
67145602 anaconda-ks.cfg
101110119 openscap_data
[root@lhy ~]# ls -i .ssh/..
67145602 anaconda-ks.cfg
101110119 openscap_data
[root@lhy ~]# ls -i openscap_data/..
67145602 anaconda-ks.cfg
101110119 openscap_data
[root@lhy ~]# ls -ld /root
dr-xr-x---. 4 root root 184 Jun
1 11:53 /root
[root@lhy ~]# ls -a /root
.
anaconda-ks.cfg
.bash_logout
.bashrc
openscap_data
.tcshrc
..
.bash_history
.bash_profile
.cshrc
.ssh
.viminfo
使用-t选项可以按照时间降序排列。
[root@lhy ~]# ls -lt ..
total 20
drwxrwxrwt.
11 root root 4096 Jun
3 03:10 tmp
drwxr-xr-x.
22 root root
580 Jun
2 23:55 run
drwxr-xr-x.
3 root root
19 Jun
2 23:49 home
drwxr-xr-x.
76 root root 8192 Jun
2 23:49 etc
drwxr-xr-x.
19 root root 3260 Jun
2 23:36 dev
dr-xr-xr-x.
13 root root
0 Jun
2 23:36 sys
dr-xr-xr-x. 178 root root
0 Jun
2 23:36 proc
dr-xr-x---.
4 root root
184 Jun
1 11:53 root
dr-xr-xr-x.
5 root root 4096 May 29 14:21 boot
drwxr-xr-x.
19 root root
267 May 29 14:21 var
drwxr-xr-x.
13 root root
155 May 29 14:01 usr
lrwxrwxrwx.
1 root root
9 May 29 14:01 lib64 -> usr/lib64
lrwxrwxrwx.
1 root root
8 May 29 14:01 sbin -> usr/sbin
lrwxrwxrwx.
1 root root
7 May 29 14:01 lib -> usr/lib
lrwxrwxrwx.
1 root root
7 May 29 14:01 bin -> usr/bin
drwxr-xr-x.
2 root root
6 Nov
5
2016 media
drwxr-xr-x.
2 root root
6 Nov
5
2016 mnt
drwxr-xr-x.
2 root root
6 Nov
5
2016 opt
drwxr-xr-x.
2 root root
6 Nov
5
2016 srv
使用-d选项仅显示目录,不显示其他。
[root@lhy ~]# ls -ld /
dr-xr-xr-x. 17 root root 245 May 31 15:43 /
[root@lhy ~]# ls -lt /
total 20
drwxrwxrwt.
11 root root 4096 Jun
3 03:10 tmp
drwxr-xr-x.
22 root root
580 Jun
2 23:55 run
drwxr-xr-x.
3 root root
19 Jun
2 23:49 home
drwxr-xr-x.
76 root root 8192 Jun
2 23:49 etc
drwxr-xr-x.
19 root root 3260 Jun
2 23:36 dev
dr-xr-xr-x.
13 root root
0 Jun
2 23:36 sys
dr-xr-xr-x. 178 root root
0 Jun
2 23:36 proc
dr-xr-x---.
4 root root
184 Jun
1 11:53 root
dr-xr-xr-x.
5 root root 4096 May 29 14:21 boot
drwxr-xr-x.
19 root root
267 May 29 14:21 var
drwxr-xr-x.
13 root root
155 May 29 14:01 usr
lrwxrwxrwx.
1 root root
9 May 29 14:01 lib64 -> usr/lib64
lrwxrwxrwx.
1 root root
8 May 29 14:01 sbin -> usr/sbin
lrwxrwxrwx.
1 root root
7 May 29 14:01 lib -> usr/lib
lrwxrwxrwx.
1 root root
7 May 29 14:01 bin -> usr/bin
drwxr-xr-x.
2 root root
6 Nov
5
2016 media
drwxr-xr-x.
2 root root
6 Nov
5
2016 mnt
drwxr-xr-x.
2 root root
6 Nov
5
2016 opt
drwxr-xr-x.
2 root root
6 Nov
5
2016 srv
之前也提过,使用man命令可以查看ls的所有参数,我们只需要记住常用的,按需查询即可。
最后,使用别名可以方便输入命令,比如给目录自动添加颜色需要--color=auto的参数,而想只需要ls就能实现,这个会在2.5节讲到。
[root@lhy ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
2.4 文件类型
上一小节讲到使用ls -l查看文件的时候第一列显示的是文件的类型与权限。文件类型就是第一个字符表示的。
[root@lhy ~]# ls -la
total 36
dr-xr-x---.
4 root root
184 Jun
1 11:53 .
dr-xr-xr-x. 17 root root
245 May 31 15:43 ..
-rw-------.
1 root root 1622 May 29 14:05 anaconda-ks.cfg
drwxr-xr-x.
2 root root
40 May 29 14:04 openscap_data
drwx------.
2 root root
80 May 31 16:47 .ssh
-rw-------.
1 root root 6877 Jun
1 11:53 .viminfo
d表示这个“文件“是一个目录。’-‘表示这个”文件“是普通文本文档。不管是普通文本文档还是二进制文件,都会显示为’-‘ 。
c表示字符串设备。
[root@lhy ~]# ls -l /dev/tty0
crw--w----. 1 root tty 4, 0 Jun
2 23:36 /dev/tty0
l表示软连接文件,相当于Windows的快捷方式
[root@lhy ~]# ls -l /dev/stderr
lrwxrwxrwx. 1 root root 15 Jun
2 23:36 /dev/stderr -> /proc/self/fd/2
b表示块设备,比如光盘,硬盘等。
[root@lhy ~]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 Jun
2 23:36 /dev/sda
brw-rw----. 1 root disk 8, 1 Jun
2 23:36 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jun
2 23:36 /dev/sda2
brw-rw----. 1 root disk 8, 3 Jun
2 23:36 /dev/sda3
s表示socket文件,用于进程、服务之间通信所用的文件。
[root@lhy ~]# ls -l /dev/log
srw-rw-rw-. 1 root root
0 Jun
2 23:36 log
2.5 alias命令
ls和ll命令其实都是有别名的,我们可以用alias命令查看。
[root@lhy ~]# alias ls
alias ls='ls --color=auto'
[root@lhy ~]# alias ll
alias ll='ls -l --color=auto'
[root@lhy ~]# alias yum
-bash: alias: yum: not found
[root@lhy ~]# alias which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
如果存在别名就会显示别名,如果不存在会返回not found。我们发现which的别名中就有alias命令,所以查看一个命令来源可以直接使用which命令。
如果想看所有的有别名命令,直接使用alias即可。
[root@lhy ~]# 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'
不希望使用别名而想直接应用命令,使用绝对路径即可。
[root@lhy ~]# /bin/ls .
anaconda-ks.cfg
openscap_data
下面介绍一个系统的环境变量PATH
[root@lhy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
可以看到PATH中使用:分割了很多文件目录,只要是在这些目录里的可执行文件都可以直接输入文件名而执行,which查询命令就是在PATH中查询的。
现在,我们创建一个别名aming,比如让它变为ls -lha,使用如下方法
[root@lhy ~]# alias aming='ls -lha'
[root@lhy ~]# aming
total 36K
dr-xr-x---.
4 root root
184 Jun
1 11:53 .
dr-xr-xr-x. 17 root root
245 May 31 15:43 ..
-rw-------.
1 root root 1.6K May 29 14:05 anaconda-ks.cfg
-rw-------.
1 root root 3.2K Jun
1 13:52 .bash_history
-rw-r--r--.
1 root root
18 Dec 29
2013 .bash_logout
-rw-r--r--.
1 root root
176 Dec 29
2013 .bash_profile
-rw-r--r--.
1 root root
176 Dec 29
2013 .bashrc
-rw-r--r--.
1 root root
100 Dec 29
2013 .cshrc
drwxr-xr-x.
2 root root
40 May 29 14:04 openscap_data
drwx------.
2 root root
80 May 31 16:47 .ssh
-rw-r--r--.
1 root root
129 Dec 29
2013 .tcshrc
-rw-------.
1 root root 6.8K Jun
1 11:53 .viminfo
[root@lhy ~]# which aming
alias aming='ls -lha'
/usr/bin/ls
取消别名的方法也很简单,使用unalias + 别名 即可。
[root@lhy ~]# unalias aming
[root@lhy ~]# aming
-bash: aming: command not found
转载于:https://my.oschina.net/u/3866688/blog/1823272
最后
以上就是坚强柠檬为你收集整理的2018.6.1任务2.1/2.2 系统目录结构2.3 ls命令 2.4 文件类型2.5 alias命令的全部内容,希望文章能够帮你解决2018.6.1任务2.1/2.2 系统目录结构2.3 ls命令 2.4 文件类型2.5 alias命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复