centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标前所有字符 Ctrl+r 搜索命 hash命令 Ctrl+左箭头/右箭头 cd命令 第三节课

时间:2024-08-01 19:05:32

centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标前所有字符 Ctrl+r 搜索命 hash命令  Ctrl+左箭头/右箭头 cd命令  第三节课

上半节课

ls命令

下半节课

alias别名

so:动态库 a:静态库

环境变量PATH

Ctrl+z 暂停命令

Ctrl+a 光标到行首

Ctrl+e 光标到行尾

Ctrl+u 删除光标前所有字符

hash命令

ls命令

目录或者文件最后更改时间

ls -a  --显示隐藏文件和目录,.开头的文件和目录
ls -ld  --只显示目录
ls -lt  --最新的显示在最上头,文件最近什么时候更新的
ls -lh  --显示文件的大小,但是不能显示目录下各文件之和大小,只能显示目录的大小
ls -li  --查看inode
ls -R   --递归显示当前目录和下级子目录的文件和目录内容
ls -lhS  --按文件大小排序

centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标前所有字符 Ctrl+r 搜索命 hash命令  Ctrl+左箭头/右箭头 cd命令  第三节课

alias别名

[root@steven ~]# alias aming='ls /tmp/'
[root@steven ~]# aming
1.txt  yum_save_tx-2015-03-18-13-02DUsJHx.yumtx

[root@steven ~]# ls /tmp/
1.txt  yum_save_tx-2015-03-18-13-02DUsJHx.yumtx
[root@steven ~]#

--查看当前有哪些alias

要永久生效需要 添加在/etc/rc.d/rc.local

[root@steven ~]# alias
alias aming='ls /tmp/'
alias cman='man -M /usr/local/zhman/share/man/zh_CN'
alias cp='cp -i'
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'

--取消别名

unalias aming

s:是超级权限的意思

sbin:super  binary

软链接

/etc/grub.conf -> /boot/grub/grub.conf


目录

so:动态库 a:静态库

查看动态库依赖,一般在/lib下

ldd /bin/ls

/bin, /sbin, /usr/bin, /usr/sbin 放命令的目录,/sbin是超级用户root才可以用的命令
/boot Linux内核及引导系统程序所需要的文件目录
/dev 存放的是Linux的外部设备
/etc/ 配置文件目录
/home 用户家目录 命令:useradd
/lib ,/lib64 命令: ldd ,存放必备的共享库和内核模块,系统启动和运行根文件系统的各种命令时都要用到共享库,所以需要放在根文件系统下一起加载,如果是x86_64,这个目录部分功能会转到/lib64目录,但内核模块只会使用/lib目录,无论是否是64位系统,内核模块放在/lib/modules目录下
/usr/lib ,/usr/lib64:共享库文件和目标文件,如果是64位x86_64系统,这个目录功能转移到/usr/lib64目录下
/media, /mnt
/opt 是存放某些大型软件或者某些特殊软件的目录,现在很少有人安装在/opt目录,只有一些少数软件非得安装在/opt才会安装在/opt目录,例如:Oracle,一般配置文件放在/etc/opt下,可变更文件放在/var/opt下
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root root用户家目录
/selinux
/srv 存放一些服务启动之后需要提取的中间数据
/proc 系统内核映射 伪文件系统
/sys 伪文件系统
/sys/class 包含所有注册在kernel里面的设备类型,链接到device
/sys/dev 维护一个按照字符设备和块设备的主次号码列表,链接到device
/sys/device 是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备,是内核对系统中所有设备的分层次表达模型,也是/sys文件系统管理设备的最重要的目录结构
/sys/fs 描述系统中所有的文件系统
/sys/kernel 存放的是内核中所有可调整的参数
/tmp 临时文件
/usr user share readonly, 用户程序存放目录,类似win program files文件夹,安装完Linux后,/usr目录最大
/var 存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

cron任务计划会存放在/var/spool/cron下

cd  后面不加东西,就是进入到当前用户的家目录
cd ~  这里的~符号也表示用户的家目录
cd -  切换到上一次所在的目录
cd .  ..   其中.表示当前目录, ..表示上一级目录

pwd 相当于 pwd -L

默认显示软链接目录,如果有软链接

pwd -P

显示真正的目录

L logical

P physical

[root@steven ~]# ll /etc/sysconfig/
总用量 216
-rw-r--r--  1 root root  403 10月 18 2014 atd
-rw-r-----  1 root root  992 10月 15 2014 auditd
-rw-r--r--. 1 root root  398 1月  26 2015 authconfig
-rw-r--r--  1 root root  339 1月   5 2015 autofs
drwxr-xr-x. 2 root root 4096 3月  10 12:04 cbq
-rw-r--r--  1 root root  486 10月 18 2014 cgconfig
-rw-r--r--  1 root root  950 10月 18 2014 cgred.conf
-rw-r--r--. 1 root root   21 1月  26 2015 clock
drwxr-xr-x. 2 root root 4096 11月  4 2014 console
-rw-r--r--  1 root root 2651 8月  13 2013 cpuspeed
-rw-------  1 root root  110 11月 23 2013 crond
drwxr-xr-x. 2 root root 4096 2月   2 2015 daemons
-rw-r--r--. 1 root root   25 1月  26 2015 grub
-rw-r--r--  1 root root  529 8月  15 2014 htcacheclean
-rw-r--r--  1 root root  947 8月  15 2014 httpd
-rw-r--r--  1 root root   47 3月  12 17:04 i18n
-rw-r--r--  1 root root 1154 11月  4 2014 init
-rw-------. 1 root root  481 1月  26 2015 ip6tables
-rw-------  1 root root 1988 10月 15 2014 ip6tables-config
-rw-------. 1 root root  481 1月  26 2015 ip6tables.old
-rw-------. 1 root root  476 1月  26 2015 iptables
-rw-------  1 root root 1974 10月 15 2014 iptables-config
-rw-------. 1 root root  476 1月  26 2015 iptables.old
-rw-r--r--  1 root root  903 6月   2 2014 irqbalance
-rw-r--r--  1 root root 1212 10月 16 2014 kdump
-rw-r--r--  1 root root  180 3月  10 12:05 kernel
-rw-r--r--. 1 root root   63 1月  26 2015 keyboard
-rw-r--r--  1 root root  271 10月 15 2014 mcelogd
drwxr-xr-x. 2 root root 4096 11月  4 2014 modules
-rw-r--r--  1 root root  634 11月  4 2014 netconsole
-rw-r--r--  1 root root   43 3月   5 2015 network
drwxr-xr-x. 4 root root 4096 11月  4 2014 networking
drwxr-xr-x. 2 root root 4096 4月  24 14:09 network-scripts
-rw-r--r--  1 root root 2222 10月 16 2014 nfs
-rw-r--r--  1 root root   85 12月 20 2014 ntpd
-rw-r--r--  1 root root  167 12月 20 2014 ntpdate
-rw-r--r--  1 root root 1459 7月  19 2013 prelink
-rw-r--r--  1 root root  178 3月   5 2014 quota_nld
-rw-r--r--  1 root root 2585 11月 12 2014 raid-check
-rw-r--r--  1 root root  549 11月 23 2013 readahead
-rw-r--r--  1 root root  659 11月  4 2014 readonly-root
-rw-r-----. 1 root root   41 12月 18 2011 rngd
-rw-r--r--  1 root root  200 12月 10 2014 rsyslog
-rw-r--r--  1 root root  111 2月  23 2015 samba
-rw-r--r--  1 root root  136 10月 18 2014 sandbox
-rw-r--r--  1 root root  553 11月 18 2014 saslauthd
lrwxrwxrwx. 1 root root   17 1月  26 2015 selinux -> ../selinux/config
-rw-r--r--. 1 root root  125 2月  22 2013 smartmontools
-rw-r-----. 1 root root  438 11月 13 2014 sshd
-rw-r--r--. 1 root root  473 10月 16 2014 sysstat
-rw-r--r--. 1 root root 6253 10月 16 2014 sysstat.ioconf
-rw-------. 1 root root   73 1月  26 2015 system-config-firewall
-rw-------. 1 root root   71 1月  26 2015 system-config-firewall.old
-rw-r--r--  1 root root  183 10月 16 2014 udev

环境变量PATH的用法
echo $PATH 可以查看系统的环境变量PATH的值,使用which命令可以查看某个命令所在的绝对路径
PATH=$PATH:/tmp  这样我们可以使用/tmp/下面的可执行文件作为命令
让PATH永久生效的,需要把它加入到/etc/profile 里,重启生效,或者直接运行命令: 
source  /etc/profile

alias设置命令的别名,例如 alias aming='ls -lt'  
解除别名使用 unalias  aming 
让别名永久生效,需要把设置别名的命令,加入到 ~/.bashrc 里

root用户的配置文件:~/.bashrc

5. 快捷键

tab:补全命令和路径
Ctrl+c 取消命令
Ctrl+z 暂停命令
Ctrl+a 光标到行首
Ctrl+e 光标到行尾
Ctrl+u 删除光标前所有字符
Ctrl+k 删除光标后所有字符
Ctrl+l 清屏
Ctrl+d 退出登录/shell == exit,结束输入, 比如wc命令和sort命令如果不加文件名会等待标准输入Ctrl+d可以结束输入
Ctrl+s 锁住命令终端,按任何键都不会有反应
Ctrl+q 解锁命令终端
Ctrl+r 搜索命令 比如ctrl + r ls 再输入一次 ctrl + r 会从最后一次ls或命令中包含ls的命令列出来
Ctrl+左箭头/右箭头 以单词为单位进行移动


扩展阅读

# du -sh --max-depth=1   /   #--max-depth=1  ,根分区
0 /misc
244K /dev
4.0K /media
48M /boot
225M /var
2.2G /usr
4.0K /aming
4.0K /srv
4.3G /root
4.0K /selinux
28M /lib64
4.0K /testsdb1
7.8M /bin
4.0K /mnt
4.0K /cgroup
37M /etc
255M /lib
52K /tmp
4.0K /.ssh
4.0K /testsdb3
16K /lost+found
73M /data
0 /net
du: 无法访问"/proc/2818/task/2818/fd/4": 没有那个文件或目录
du: 无法访问"/proc/2818/task/2818/fdinfo/4": 没有那个文件或目录
du: 无法访问"/proc/2818/fd/4": 没有那个文件或目录
du: 无法访问"/proc/2818/fdinfo/4": 没有那个文件或目录
0 /proc
4.0K /download1
8.0K /123
0 /sys
787M /download
8.0K /opt
284K /home
15M /sbin
7.9G /

大目录
4.3G /root
2.2G /usr
7.9G /


ls /var  马哥  Linux就这个范儿

通常情况下,应用程序不得在/var顶层添加任何目录,这个位置只留给那些影响到整个系统的软件,而且还需经过Linux社区商量决定是否添加(比如nginx的访问日志最好在/var下创建一个nginx目录,例如/var/log/nginx/error.log)

/var下的目录
account :系统审计程序psacct的专有目录,psacct程序可以监控所有用户执行的命令。
lock :两个人同时编辑一个文件,用于硬件设备和其他被多个程序所共享的资源,例如串行设备锁文件,锁文件命名方式必须是LCK..后接设备和本名,例如进程是1230的锁文件,它的锁文件内容将包含11个字符:空格 空格 空格 空格 空格 空格 空格 1、2、3、0和换行符
run :守护进程的pid文件一般放这里,系统启动进程开始的时候会清空这个目录,一般程序在/var/run目录下有一个子目录(/var/run/nginx/nginx.pid),鼓励程序使用不止一个运行时文件,pid文件命名规则是<程序名>.pid
必须以ascii码数字字符描述进程标识符
cache:应用程序缓存数据,应用程序必须能再生或恢复这些数据,和/var/spool不同,删除缓存文件不会造成数据丢失错误
lib :进程信息,应用程序状态信息,应用程序运行期间保存程序所处的状态,/var/lib/misc给不需要单独子目录的程序
log :进程日志一般放这里,各种日志文件,lastlog、message、wtmp
spool :spool有mail目录和cron目录,redhat是放用户的邮件 cron放定时任务文件,供以后用的(可以被程序、用户、管理员处理),一旦被处理完毕都会被删除。
mail :非redhat是放用户的邮件
opt:/opt下软件包的可变数据都应该安装到/var/opt子目录中去,子目录名应该和/opt下子目录名称一样
tmp:/var/tmp目录使得程序要求在系统重启期间保护临时文件或目录成为可能,因此保存在/var/tmp目录中的数据,比/tmp中的数据得到更多保护。/var/tmp目录中数据在系统启动时不得删除

两个伪文件系统
/proc 内核信息
/sys 内核信息 硬件设备相关的
/misc 存放杂项文件,乱七八糟的文件,默认一般是空的

nginx编译安装

cd /software/nginx-1.4. && ./configure --sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx/nginx.pid \
--error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log \
--user=nginx --group=nginx --with-pcre --with-http_gzip_static_module --with-http_ssl_module \
--with-http_realip_module --with-http_geoip_module --with-http_stub_status_module \
--add-module=/usr/local/nginx_upstream_check_module-master \
--add-module=/usr/local/ngx_cache_purge-2.1 --with-http_gunzip_module \
--add-module=/usr/local/ngx_req_status-master && make -j2 && make install

hash命令

bash shell特有功能,记住你执行过的命令,在hash表里找

# hash
hits command
1 /usr/bin/tail
1 /usr/bin/file
3 /usr/bin/du
1 /bin/env
14 /bin/ls

mv  /usr/bin/wc  /bin
wc /etc/passwd
-bash: /bin/wc: 没有那个文件或目录

因为缓存了wc命令,bash shell在hash表找不到那个命令,这时候需要清空一下hash表

hash -r 清空hash表

下次移动了系统里面的命令记得执行一下hash -r

mv /usr/bin/wc /bin
hash -r

bin目录

/bin 二进制 ,为所有用户使用,不得包含任何子目录
/sbin 二进制 ,为管理员所用,存储的是那些系统启动,恢复,还原,修复过程中必备系统工具,也是对/bin内容的补充,那些已知在/usr挂接后才需要的程序一般放在/usr/sbin下,用户自行安装的程序应该放在/usr/local/sbin目录下
/usr 系统运行相关文件 Linux系统源码等 user share readonly
/usr/bin 所有用户使用 系统启动时或启动后的用户程序
/usr/sbin 系统软件 系统启动时或启动后的系统程序
/usr/local/bin 第三方软件 所有用户使用
/usr/local/sbin 第三方软件 系统软件

redhat现在很少按照上面的目录来区分

# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

搜索顺序从左到右,局部大于全局/usr/local/sbin-》/usr/local/bin-》/usr/sbin-》/usr/bin-》/sbin-》/bin


命令帮助

内部命令:help command
外部命令:command --help
man command

man 一个命令

[]:可选内容
<>:必须给出内容
| :或者
[|] :多选一


cd命令

cd ~steven 用户家目录
cd - 上一次目录
cd ../.. 上层再上层目录,不是根分区开头/的都是相对路径,相对于当前目录
cd ~当前用户家目录


/usr/share目录

Linux就这个范儿

存放着所有体系结构无关的数据文件,他的内容可以共享给运行在任何体系结构下的操作系统,但必须保证它们运行的是不同体系结构平台的相同操作系统。

必须安装在/usr/share目录下的内容
dict,doc,games,info,locale,nls,sgml,terminfo,tmac,xml,zoneinfo 时区配置信息
/bin/cp /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime   #校对时区

/usr/share目录下必须具备的内容
man 目录
misc 目录

手册页
/usr/share/man/专为联机帮助而准备,包含了/和/usr下大部分程序的帮助信息,从man1到man8
ll /usr/share/man/
drwxr-xr-x. 2 root root 36864 Jan 29 16:15 man1
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man1p
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man1x
drwxr-xr-x. 2 root root 4096 Jul 10 2015 man2
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man2x
drwxr-xr-x. 2 root root 49152 Jan 29 16:15 man3
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man3p
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man3x
drwxr-xr-x. 2 root root 4096 Jan 8 08:38 man4
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man4x
drwxr-xr-x. 2 root root 4096 Jan 19 21:11 man5
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man5x
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man6
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man6x
drwxr-xr-x. 2 root root 4096 Jan 3 23:44 man7
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man7x
drwxr-xr-x. 2 root root 20480 Jan 12 12:59 man8
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man8x
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man9
drwxr-xr-x. 2 root root 4096 Sep 23 2011 man9x

/usr/share/misc目录存放那些不需要拥有自己目录的应用程序,将它们的体系结构无关数据放在这里
ascii码表
file命令的文件特征符号表

centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标前所有字符 Ctrl+r 搜索命 hash命令  Ctrl+左箭头/右箭头 cd命令  第三节课

f