首页 > 其他 > 详细

菜鸟第一周

时间:2018-05-27 22:36:27      阅读:226      评论:0      收藏:0      [点我收藏+]
cat
查看文件内容
[root@centos6 ~]# cat /etc/shells 查看当前系统所安装的shell
[root@centos6 ~]# echo $SHELL 查看当前使用的何种shell

type
查看命令的类型

which 查看命令的路径

enable 查看所有已启用的内部命令
-n 查看所有已禁用的内部命令
-a 查看所有的内部命令
enable command 启用指定的内部命令
enable -n command 禁用指定的内部命令
配合 | wc -l 可查看数量
命令执行的优先顺序
alias > 内部 > 外部(hash > PATH)

hash
hash 显示已缓存的外部命令的路径
hash -d command 删除指定命令的hash缓存
hash -r 删除所有缓存

alias
alias copy=cp
alias copy=‘cp -p -r‘
alias 查看别名
unalias 别名名字
unalias -a 取消所有别名
写入~/.bashrc
gedit ~/.bashrc

临时使某条命令不受别名影响
1.路径执行命令
如:/bin/ls
2.\ls
3.‘ls‘
4."ls"

命令的格式
command option arguments
options 选项 启用命令的某项功能,从而更改命令的功能
arguments 参数 改变命令作用的对象
短选项
-c
-ca = -c -a
长选项
--word

命令的连接符
command1 ; command2 ;command 3 ……

date
[root@centos6 ~]# date "+%Y年%m月%d日 %H时%M分%S秒 星期2"
2018年05月15日 15时59分43秒 星期2
[root@centos6 ~]# date "+%F %T"
2018-05-15 16:00:07
[root@centos6 ~]# date +%s
1526371345
[root@centos6 ~]# date 100112202019.20 月日时分[年][.秒]
Tue Oct 1 12:20:20 CST 2019
[root@centos6 ~]# date -s ‘2020-1-5 12:30:50‘
Sun Jan 5 12:30:50 CST 2020
[root@instructor_v7(nanyibo) ~]# date -d ‘-2 days‘ +%A 表示前天是星期几
Wednesday

clock/hwclock
command 查看硬时间
-s 硬时间写入软时间
-w 软时间写入硬时间

init
init 0 关机
init 6 重启

关机
init 0
poweroff
shutdown
shutdown -h +0
+xx 几分钟后关机
20:00

whoami 显示当前的用户名
who am i 显示当前的用户名,终端,登录时间(来源IP)
who 显示当前系统的所有登录信息
w 详细显示当前系统的所有登录信息

screen

安装screen
centos6:
在虚拟机上操作,加载好光盘centos6-dvd1
[root@centos6 ~]# cd /media/CentOS_6.9_Final/Packages/
[root@centos6 Packages]# rpm -ivh screen-4.0.3-19.el6.x86_64.rpm
centos7:
在虚拟机上操作,加载好光盘centos7-everything
[root@centos7 ~]# mount /dev/cdrom /media/
mount: /dev/sr0 is write-protected, mounting read-only

[root@centos7 ~]# rpm -ivh /media/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm

screen -S sessionname 创建screen
screen -x sessionname 加入screen
screen -ls 查看screen

echo
-n 不换行
-e "\a"
[root@centos6 ~]# echo -e "\a" 报警
[root@centos6 ~]# echo -e "aaa\n123\naaaaa"
aaa
123
aaaaa

$的用法
$varname 引用变量的值
如:echo $SHELL

$()或`` 命令行扩展:表示引用命令执行的结果

$[]或$(())
    如
    [root@centos6 ~]# echo $[2+3]
    5
${}或"$varname"
    强调变量名的起止范围

{}
[root@centos6 ~]# echo {-3..9}
-3 -2 -1 0 1 2 3 4 5 6 7 8 9
[root@centos6 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@centos6 ~]# echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[root@centos6 ~]# echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@centos6 ~]# echo {3..10..3}
3 6 9

history
command 查看当前的历史记录
!XX 执行某条历史记录
!!重复执行上一条历史

PS1="[[\e[32m]\u[\e[36m]@\h_v6[\e31m\[\e[0m] \W]\$ "

[root@instructor_v6(nanyibo) ~]# service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
[root@instructor_v6(nanyibo) ~]# !ser
service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]

ctrl+R
搜索到后,回车直接运行
ctrl+g退出搜索
tab退出搜索,保留查到的结果,但并不直接运行

!$的用法
[root@instructor_v6(nanyibo) ~]# cd /etc/sysconfig/network-scripts/ifcfg-eth0
-bash: cd: /etc/sysconfig/network-scripts/ifcfg-eth0: Not a directory
[root@instructor_v6(nanyibo) ~]# gedit !$

history
-c 清空历史
-a 将当前终端的新命令追加到历史文件
-w /path/filename 将当前终端的新命令追加到指定文件
-r 读取历史文件中的所有历史到当前终端的历史缓存
-n 仅读取未读过的历史到当前终端的历史缓存

清屏命令
clear
ctrl + L

ctrl+a 光标移至行首
ctrl+e 光标移至行尾

获取帮助
whatis
基于数据库的查找命令
优点:查找速度快
缺点:不具有实时性
centos6:
数据库存放位置:/var/cache/man/whatis
更新数据库:makewhatis
centos7:
数据库存放位置:/var/cache/man/index.db
更新数据库:mandb

man
1 User Commands

   2      System Calls

   3      C Library Functions

   4      Devices and Special Files

   5      File Formats and Conventions

   6      Games et. Al.

   7      Miscellanea

   8      System Administration tools and Daemons

f:向下翻一屏
b:向上翻一屏
d:向下翻半屏
u:向上翻半屏
j:向下翻一行
k:向上翻一行
g:跳至首页
G:跳至尾页

搜索:
/关键字 自上而下 n 向下找 N向上找
?关键字 自下而上 n 向上找 N向下找

man的配置文件
centos6 : /etc/man.conf
centos7 : /etc/man_db.conf

man num 关键字
man -k  关键字 模糊搜索
man -f 或 whatis 精确搜索
man -M /path hello   将hello对应的帮助文件放置到配置文件centos6:/etc/man.conf centos7:/etc/man_db.conf
man -w 关键字 打印该man page的存放路径 

/boot 启动相关的内核和grub文件
/bin 可执行的二进制文件
/sbin 只有root才能执行的二进行文件
/lib 库文件
/lib64 64位库文件
/home/username
/root
/media
/mnt
/etc 配置文件存放目录
/dev 设置文件存放目录
/dev/sda
/dev/cdrom
/dev/zero
/dev/null
/dev/pts/0
/dev/tty1-xx
/srv
/tmp 临时目录
/usr 存放软件的执行程序,库文件及文档
/var 存放软件可变的数据

/proc 内核与存放进程信息的虚拟文件系统
/proc/cpuinfo
/sys 存放硬件信息的虚拟文件系统

第三天

-普通文件
d目录文件
b块设备文件
c字符设备文件
l软链接文件
p管道文件
s套接字文件
nc -Ul mage.sock
nc -U mage.sock

pwd 显示当前所在的绝对路径
-P 如果当前所在位置是软链接目录,则显示源路径

绝对路径与相对路径
绝对:从根开始的路径
相对:相对于当前的路径

[root@instructor_v7(nanyibo) ~]# dirname ‘/etc/sysconfig/network-scripts/ifcfg-eth0‘
/etc/sysconfig/network-scripts
[root@instructor_v7(nanyibo) ~]# basename ‘/etc/sysconfig/network-scripts/ifcfg-eth0‘
ifcfg-eth0

cd
cd 进入家目录
cd ~ 进入家目录
cd - 进入上一次的工作目录,反复执行会在两个目录间来回切换

ls
[options][fils or directories]

-a 显示所有文件,包含隐藏文件
-A 显示所有文件,包含隐藏文件,除了. and ..
-l 长列出,显示属性信息
-rw-------. 1 root root  1495 May 15 11:23 anaconda-ks.cfg
    -/d/l/s/b/c/p 表示文件的类型
    rw-  ---  --- 表示owner,group,other的权限
    . 表示该文件有selinux的context标签,可用-Z 详细查看
    1 表示硬链接数
    root 表示该文件的owner
    root 表示该文件的group
    1495 表示该文件的大小,默认bytes -h以人类可读性显示,则显示具体的单位
    May 15 11:23 默认显示为mtime,可使用u或--time=atime来显示atime
                                  可使用--time=ctime来显示ctime
    anaconda-ks.cfg  文件名

        ls
-dl 详细指定目录自己的属性信息,而不是显示子文件,子目录信息
-R 递归
-1 以一列显示
-S 按文件大小从大到小排序
-tl 默认以修改时间从新到旧排序,而如果使用--time=a[c]time,则按所指定的时间从新到旧排序
-utl 以atime从新到旧排序 也可以用--time=atime -tl
    不加t只有ul存在时,表示以atime来显示详细信息
-rS 按文件大小从小到大 -rt 按时间从旧到新
-U 按文件的存放顺序显示
-X 按文件后缀排序
-i 显 示文件的inode号
-Z 显示context

时间戳
access time(atime): 访问时间,当文件被读取时才更新
modify time(mtime): 数据修改时间,当文件的数据被修改时才更新
change time(ctime): 元数据修改时间,当文件的元数据(权限,大小,owner,group,mtime等)更新时则更新

stat ,ls --time=atime[ctime] -l

touch filename
若文件不存在,则创建一个空文件
若文件存在,则更新三个时间戳
-a 更新atime和ctime
-m 更新mtime和ctime
-c 若文件存在,则更新三个时间戳,若不在,不会创建新文件,无作为。

文件名通配符
*:匹配零或多个任意字符
?:匹配任意一个单一字符
0-9:表示任何数字
a-Z:表示所有字母,包括大小写

[^linux]:表示不包含l和i和n和u和x
[:digit:]:表示任意数字
[:lower:]:表示小写字母
[:upper:]:表示大写字母
[:alpha:]:表示大小写字母
[:alnum:]:表示任意字母或数字
[:blank:]:表示空格(水平制表符)及TAB
[:space:]:表示空格(水平制表符)、回车(垂直制表符)及TAB
[:punct:]:表示符号
[:print:]:表示可打印字符 

cp
当源是一个文件时
当目标文件不存时,则新建文件,并填充内容
当目标文件存在,且为一个文件时,则覆盖该文件
,且为一个目录时,则将该文件放置入该目录
当源是多个文件时
当目标文件不存时,报错
当目标文件存在,且为一个文件时,报错
,且为一个目录时,则将所有源目文件放置入该目录
当源是一个目录时, 要配合-r
当目标不存在时,则创建指定名称的目录,并将源目录当中的文件复制到新目录当中
当目标文件存在,且为一个文件时,报错
,且为一个目录时,则两个目录内容合并,如有同名文件,则源目录下的文件覆盖目标目录的文件。
cp
-i 覆盖时交互式提示
-r 递归,可以复制目录
-d 默认不加-d时,cp复制软链接会将源复制过去,加上-d保留链接属性,把软链接复制过去
--preserv=
mode 权限不变
owner[ship] 权限及owner,group 不变
time 三个时间戳不变
xattr acl权限不变
links 链接不变
context 文件的selinux上下文关系不变
all
-p 等于 --preserv=mode,owner,time
-a 等于rdp
-v 显示复制过程
-f 强制覆盖: 当普通用户对目标文件不可更改时,但对该目标文件所在的目录有创建及删除文件的权限,则使用-f可以强制覆盖,实际上是先删除文件,再创建
-u 只覆盖源比目标文件新的文件
--backup-numbered 覆盖前,先将旧文件改名为 文件名.~数字~

mv [OPTION]... [-T] SOURCE DEST
? mv [OPTION]... SOURCE... DIRECTORY
? mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i: 交互式
-f: 强制 直接覆盖,不交互式,抵消i的作用

rename 旧名字 新名字 要改名的文件
rename doc txt *.doc
tree 显示目录树
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径

mkdir
-p 可以同时创建多级目录
-v 在创建目录时显示详细信息
-m xxx 创建同时指定权限

rmdir
-p 递归删除

rm -r

inode block

文件系统
硬盘
/de/sda
分区
/dev/sda1
格式化为文件系统
FAT32

硬链接
ln 源 目的 (注意:源与目的要在同一文件系统下)
软链接
ln -s 源路径 目的路径

菜鸟第一周

原文:http://blog.51cto.com/13769389/2120877

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!