标签: Linux

Linux 下 perforce命令行工具 p4的配置

去perforce 网站 http://www.perforce.com/downloads/Perforce/Customer 下载,或者直接在linux终端用wget 下载,加上执行权限,并放到/usr/local/bin下。

$ wget http://filehost.perforce.com/perforce/r14.1/bin.linux26x86/p4
$ chmod u+x p4
$ sudo cp p4 /usr/local/bin/

编辑 ~/.bashrc 文件加入下面一些变量
export P4USER=jschen
export P4PORT=192.1.1.1:1666
export P4EDITOR=vim
export P4IGNORE=p4ignore
export P4CLIENT=jschen-fedora

登录perforce服务器,设置workspace
[jschen@10.12.6.197:~]$ p4 login
Enter password:
User jschen logged in.
[jschen@10.12.6.197:~]$ p4 client

更改 Root 和View选项
Client: jschen-fedora
Root: /back/code/
View:
//my_project/… //jschen-fedora/my_project/…

 

Linux下的tar压缩解压缩命令详解

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是*后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

 

解压jdk到指定文件夹:

tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

 

root@ubuntu:~# tar –help
用法: tar [选项…] [FILE]…
GNU ‘tar’ saves many files together into a single tape or disk archive, and can
restore individual files from the archive.

Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.

主操作模式:

-A, –catenate, –concatenate 追加 tar 文件至归档
-c, –create 创建一个新归档
-d, –diff, –compare 找出归档和文件系统的差异
–delete 从归档(非磁带!)中删除
-r, –append 追加文件至归档结尾
-t, –list 列出归档内容
–test-label 测试归档卷标并退出
-u, –update 仅追加比归档中副本更新的文件
-x, –extract, –get 从归档中解出文件

操作修饰符:

–check-device 当创建增量归档时检查设备号(默认)
-g, –listed-incremental=FILE 处理新式的 GNU 格式的增量备份
-G, –incremental 处理老式的 GNU 格式的增量备份
–ignore-failed-read
当遇上不可读文件时不要以非零值退出
–level=NUMBER 所创建的增量列表归档的输出级别
-n, –seek 归档可检索
–no-check-device 当创建增量归档时不要检查设备号
–no-seek 归档不可检索
–occurrence[=NUMBER] 仅处理归档中每个文件的第 NUMBER
个事件;仅当与以下子命令 –delete,
–diff, –extract 或是 –list
中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
-T 选项指定的;NUMBER 值默认为 1
–sparse-version=MAJOR[.MINOR]
设置所用的离散格式版本(隐含
–sparse)
-S, –sparse 高效处理离散文件

重写控制:

-k, –keep-old-files don’t replace existing files when extracting,
treat them as errors
–keep-directory-symlink preserve existing symlinks to directories when
extracting
–keep-newer-files
不要替换比归档中副本更新的已存在的文件
–no-overwrite-dir 保留已存在目录的元数据
–one-top-level[=DIR] create a subdirectory to avoid having loose files
extracted
–overwrite 解压时重写存在的文件
–overwrite-dir 解压时重写已存在目录的元数据(默认)

–recursive-unlink 解压目录之前先清除目录层次
–remove-files 在添加文件至归档后删除它们
–skip-old-files don’t replace existing files when extracting,
silently skip over them
-U, –unlink-first 在解压要重写的文件之前先删除它们
-W, –verify 在写入以后尝试校验归档

选择输出流:

–ignore-command-error 忽略子进程的退出代码
–no-ignore-command-error
将子进程的非零退出代码认为发生错误
-O, –to-stdout 解压文件至标准输出
–to-command=COMMAND
将解压的文件通过管道传送至另一个程序

操作文件属性:

–atime-preserve[=METHOD]
在输出的文件上保留访问时间,要么通过在读取(默认
METHOD=‘replace’)后还原时间,要不就不要在*次(METHOD=‘system’)设置时间
–clamp-mtime only set time when the file is more recent than
what was given with –mtime
–delay-directory-restore
直到解压结束才设置修改时间和所解目录的权限
–group=名称 强制将 NAME
作为所添加的文件的组所有者
–mode=CHANGES 强制将所添加的文件(符号)更改为权限
CHANGES
–mtime=DATE-OR-FILE 从 DATE-OR-FILE 中为添加的文件设置
mtime
-m, –touch 不要解压文件的修改时间
–no-delay-directory-restore
取消 –delay-directory-restore 选项的效果
–no-same-owner
将文件解压为您所有(普通用户默认此项)
–no-same-permissions
从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
–numeric-owner 总是以数字代表用户/组的名称
–owner=名称 强制将 NAME
作为所添加的文件的所有者
-p, –preserve-permissions, –same-permissions
解压文件权限信息(默认只为超级用户服务)
–preserve 与 -p 和 -s 一样
–same-owner
尝试解压时保持所有者关系一致(超级用户默认此项)
-s, –preserve-order, –same-order
member arguments are listed in the same order as
the files in the archive
–sort=ORDER directory sorting order: none (default), name or
inode

Handling of extended file attributes:

–acls Enable the POSIX ACLs support
–no-acls Disable the POSIX ACLs support
–no-selinux Disable the SELinux context support
–no-xattrs Disable extended attributes support
–selinux Enable the SELinux context support
–xattrs Enable extended attributes support
–xattrs-exclude=MASK specify the exclude pattern for xattr keys
–xattrs-include=MASK specify the include pattern for xattr keys

设备选择和切换:

-f, –file=ARCHIVE 使用归档文件或 ARCHIVE 设备
–force-local
即使归档文件存在副本还是把它认为是本地归档
-F, –info-script=名称, –new-volume-script=名称
在每卷磁带*后运行脚本(隐含 -M)
-L, –tape-length=NUMBER 写入 NUMBER × 1024 字节后更换磁带
-M, –multi-volume 创建/列出/解压多卷归档文件
–rmt-command=COMMAND 使用指定的 rmt COMMAND 代替 rmt
–rsh-command=COMMAND 使用远程 COMMAND 代替 rsh
–volno-file=FILE 使用/更新 FILE 中的卷数

设备分块:

-b, –blocking-factor=BLOCKS 每个记录 BLOCKS x 512 字节
-B, –read-full-records 读取时重新分块(只对 4.2BSD 管道有效)
-i, –ignore-zeros 忽略归档中的零字节块(即文件结尾)
–record-size=NUMBER 每个记录的字节数 NUMBER,乘以 512

选择归档格式:

-H, –format=FORMAT 创建指定格式的归档

FORMAT 是以下格式中的一种:

gnu GNU tar 1.13.x 格式
oldgnu GNU 格式 as per tar <= 1.12
pax POSIX 1003.1-2001 (pax) 格式
posix 等同于 pax
ustar POSIX 1003.1-1988 (ustar) 格式
v7 old V7 tar 格式

–old-archive, –portability
等同于 –format=v7
–pax-option=关键字[[:]=值][,关键字[[:]=值]]…
控制 pax 关键字
–posix 等同于 –format=posix
-V, –label=TEXT 创建带有卷名 TEXT
的归档;在列出/解压时,使用 TEXT
作为卷名的模式串

压缩选项:

-a, –auto-compress 使用归档后缀名来决定压缩程序
-I, –use-compress-program=PROG
通过 PROG 过滤(必须是能接受 -d
选项的程序)
-j, –bzip2 通过 bzip2 过滤归档
-J, –xz 通过 xz 过滤归档
–lzip 通过 lzip 过滤归档
–lzma 通过 xz 过滤归档
–lzop 通过 xz 过滤归档
–no-auto-compress 不使用归档后缀名来决定压缩程序
-z, –gzip, –gunzip, –ungzip 通过 gzip 过滤归档
-Z, –compress, –uncompress 通过 compress 过滤归档

本地文件选择:

–add-file=FILE 添加指定的 FILE 至归档(如果名字以 –
开始会很有用的)
–backup[=CONTROL] 在删除前备份,选择 CONTROL 版本
-C, –directory=DIR 改变至目录 DIR
–exclude=PATTERN 排除以 PATTERN 指定的文件
–exclude-backups 排除备份和锁文件
–exclude-caches 除标识文件本身外,排除包含
CACHEDIR.TAG 的目录中的内容
–exclude-caches-all 排除包含 CACHEDIR.TAG 的目录
–exclude-caches-under 排除包含 CACHEDIR.TAG
的目录中所有内容
–exclude-ignore=FILE read exclude patterns for each directory from
FILE, if it exists
–exclude-ignore-recursive=FILE
read exclude patterns for each directory and its
subdirectories from FILE, if it exists
–exclude-tag=FILE 除 FILE 自身外,排除包含 FILE
的目录中的内容
–exclude-tag-all=FILE 排除包含 FILE 的目录
–exclude-tag-under=FILE 排除包含 FILE 的目录中的所有内容
–exclude-vcs 排除版本控制系统目录
–exclude-vcs-ignores read exclude patterns from the VCS ignore files
-h, –dereference
跟踪符号链接;将它们所指向的文件归档并输出
–hard-dereference
跟踪硬链接;将它们所指向的文件归档并输出
-K, –starting-file=MEMBER-NAME
begin at member MEMBER-NAME when reading the
archive
–newer-mtime=DATE 当只有数据改变时比较数据和时间
–no-null 禁用上一次的效果 –null 选项
–no-recursion 避免目录中的自动降级
–no-unquote do not unquote input file or member names
–null -T 读取以空终止的名字,-C 禁用
-N, –newer=DATE-OR-FILE, –after-date=DATE-OR-FILE
只保存比 DATE-OR-FILE 更新的文件
–one-file-system 创建归档时保存在本地文件系统中
-P, –absolute-names don’t strip leading ‘/’s from file names
–recursion 目录递归(默认)
–suffix=STRING 在删除前备份,除非被环境变量
SIMPLE_BACKUP_SUFFIX
覆盖,否则覆盖常用后缀(‘’)
-T, –files-from=FILE 从 FILE
中获取文件名来解压或创建文件
–unquote unquote input file or member names (default)
-X, –exclude-from=FILE 排除 FILE 中列出的模式串

文件名变换:

–strip-components=NUMBER 解压时从文件名中清除 NUMBER
个引导部分
–transform=EXPRESSION, –xform=EXPRESSION
使用 sed 代替 EXPRESSION
来进行文件名变换

文件名匹配选项(同时影响排除和包括模式串):

–anchored 模式串匹配文件名头部
–ignore-case 忽略大小写
–no-anchored patterns match after any ‘/’ (default for
exclusion)
–no-ignore-case 匹配大小写(默认)
–no-wildcards 逐字匹配字符串
–no-wildcards-match-slash wildcards do not match ‘/’
–wildcards 使用通配符(默认对 exclusion )
–wildcards-match-slash wildcards match ‘/’ (default for exclusion)

提示性输出:

–checkpoint[=NUMBER] 每隔 NUMBER
个记录显示进度信息(默认为 10 个)
–checkpoint-action=ACTION 在每个检查点上执行 ACTION
–full-time 按文件原本时间格式打印
–index-file=FILE 将详细输出发送至 FILE
-l, –check-links
只要不是所有链接都被输出就打印信息
–no-quote-chars=STRING 禁用来自 STRING 的字符引用
–quote-chars=STRING 来自 STRING 的额外的引用字符
–quoting-style=STYLE 设置名称引用风格;有效的 STYLE
值请参阅以下说明
-R, –block-number 每个信息都显示归档内的块数
–show-defaults 显示 tar 默认选项
–show-omitted-dirs
列表或解压时,列出每个不匹配查找标准的目录
–show-snapshot-field-ranges
show valid ranges for snapshot-file fields
–show-transformed-names, –show-stored-names
显示变换后的文件名或归档名
–totals[=SIGNAL] 处理归档后打印出总字节数;当此
SIGNAL 被触发时带参数 –
打印总字节数;允许的信号为:
SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
SIGUSR2;同时也接受不带 SIG
前缀的信号名称
–utc 以 UTC 格式打印文件修改时间
-v, –verbose 详细地列出处理的文件
–warning=KEYWORD 警告控制:
-w, –interactive, –confirmation
每次操作都要求确认

兼容性选项:

-o 创建归档时,相当于
–old-archive;展开归档时,相当于
–no-same-owner

其它选项:

-?, –help 显示此帮助列表
–restrict 禁用某些潜在的有危险的选项
–usage 显示简短的用法说明
–version 打印程序版本

长选项和相应短选项具有相同的强制参数或可选参数。

The backup suffix is ‘~’, unless set with –suffix or SIMPLE_BACKUP_SUFFIX.
The version control may be set with –backup or VERSION_CONTROL, values are:

none, off never make backups
t, numbered make numbered backups
nil, existing numbered if numbered backups exist, simple otherwise
never, simple always make simple backups

–quoting-style 选项的有效参数为:

literal
shell
shell-always
c
c-maybe
escape
locale
clocale

此 tar 默认为:
–format=gnu -f- -b20 –quoting-style=escape –rmt-command=/usr/lib/tar/rmt
–rsh-command=/usr/bin/rsh

怎么学好Linux知识点

学云计算必备技能是什么?怎么学好Linux知识点?日志在排查文件的时候至关重要,因为Linux系统在运行的程序通常会把一些系统消息和错误消息写入对应的系统日志中。若是一旦出现问题,用户就可以通过查看日志来迅速定位,及时解决故障,所以学会查看日志文件也是在日常维护中很重要的操作。接下来小编就给大家分享Linux日志相关知识点。

%title插图%num

Linux系统日志的三种类型

1、内核及系统日志。这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把日志文件交由rsyslog管理,因而这些程序使用的日志记录也具有相似的格式。

2、用户日志。这种日志数据用于记录Linux操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。

3、程序日志。有些应用程序会选择由自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息,而不是交给rsyslog服务管理。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。

Linux系统用户日志相关命令

users#

users命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。

who#

who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who的默认输出包括用户名、终端类型、登录日期及远程主机。

w#

w命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容要丰富一些。

last#

last命令用于查询成功登录到系统的用户记录,*近的登录情况将显示在*前面。通过last命令可以及时掌握Linux主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵。

lastb#

lastb命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。

查看日志常用命令

tail:

-n 是显示行号;相当于nl命令;例子如下:

tail -100f test.log 实时监控100行日志

tail -n 10 test.log 查询日志尾部*后10行的日志;

tail -n +10 test.log 查询10行之后的所有日志;

head:

跟tail是相反的,tail是看后多少行日志,而head是查看日志文件的头多少行,例子如下:

head -n 10 test.log 查询日志文件中的头10行日志;

head -n -10 test.log 查询日志文件除了*后10行的其他所有日志;

cat:

tac是倒序查看,是cat单词反写;例子如下:

cat -n test.log |grep “debug” 查询关键字的日志(常用!~)

vim:

1、进入vim编辑模式:vim filename

2、输入“/关键字”,按enter键查找

3、查找下一个,按“n”即可

退出:按ESC键后,接着再输入:号时,vi会在屏幕的*下方等待我们输入命令

wq! 保存退出

q! 不保存退出

想了解更多Linux知识点或云计算运维工程师必备技能,你可以选择专业学习一下,跟着大牛讲师学习高端的技能,搭建更高的职业起点!

云计算都要学什么?学好Linux需要做些什么?

云计算是一种商业化的大规模分布式计算技术。也就是说,用户可以通过现有网络,自动将所需的庞大计算处理程序划分为多个较小的子程序,然后将其提交给由多个服务器组成的较大系统,并搜索、以计算、分析后,将结果传递给用户。基本的云计算技术已在网络服务中随处可见,并且对我们来说是众所周知的,例如搜索引擎、网络邮箱等。用户只需输入简单的指令即可获得很多信息。

 

%title插图%num

 

首先,要明白学好Linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期,由于在Linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么,系统做了些什么。这需要时间去掌握,背命令不是一件好的学习方法,所以还是尽量掌握常用命令。

然后,如果你只是想应付一下操作系统的课程,劝你*好别学,或者说不要指望能用的怎么样,原因我说了,这很耗时间,而且如果你学不好的话,你在Linux中开发的机会就很少,或者说几乎没有,它的优势就消失了,然后随着时间的流逝,你就会全部忘记它。

 

%title插图%num

 

那么,要学好Linux需要做些什么呢?

*,要多用网络搜索,因为谁也不可能也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中,你会学到更多的知识,学习Linux,更要学习一种geek的精神,Python之禅中也说过:以总结分享为荣,以跪求其解为耻;

第二,要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在Linux中是自由的,那就发挥自己的权利;

第三,学习Linux,就意味着更快的开发效率,更多关于软件本身或者说操作系统本身的理解,给你装的系统里为ubuntu12.04,它已经封装的很臃肿了,但是考虑到你没有很多时间投入其中,所以给你装了它,但是怎么用它提高开发效率,需要你在学习的过程中不断总结。

 

%title插图%num

 

如果想学习云计算技术,还需要学习Linux基础知识、 Python自动化、云计算、 OpenStack、 Docker容器等技术。在云计算中,“云”不仅是信息源,而且还是可以自我维护和管理的一系列虚拟计算资源。云计算把所有信息资源和计算资源集中在一起,并由软件自动管理,而无需人工干预。用户只需要提出目标,并将所有事务事项留给“云计算”即可。可以看出,云计算不是纯粹的产品或崭新的技术,而是一种生成和获取计算能力的新方法。

Ubuntu linux 关机、重启、注销 命令

1关机命令 shutdown

好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。

1)shutdown –help

可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。

2) shutdown -h now 现在立即关机

3)shutdown -r now 现在立即重启

4)shutdown -r +3 三分钟后重启

5)shutdown -h +3 “The System will shutdown after 3 minutes” 提示使用者将在三分钟后关机

6)shutdown -r 20:23 在20:23时将重启计算机

7)shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续操作终端

2中断命令

1)执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

2)kill 程序编码

当命令在后台执行时系统会返回一个程序编码,例如:在使用 shutdown -r 20:23 & 系统返回系统编码:4905

我们可以使用kill 4905来中止重启命令

3ps aux | grep 程序编号

我们如果知道程序的编号,我们可以使用ps aux |grep 程序编号来查询该程序编号对应的命令是什么。

例如上面的程序编号为4905 ,我们可以使用ps aux | grep 4905 就可以查到 shutdown -r 20:23 & 的命令

halt—-*简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

init

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

注销系统的logout命令

Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:

[root@localhost root]#logout

Red Hat Linuxrelease 9(Shike)

Kernel 2.4.20.8 on an i686

Login: ← 回到登陆的画面

Linux服务器的关机和重启命令

linux下一些常用的关机/重启命令:

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。

1.shutdown

shutdown 命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。

而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

shutdown执行它的工作是送信号〔signal〕给init程序 ﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给 shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些 runlevels相关的资料。

shutdown 参数说明:

[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。

[-r] 重启计算器。

[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。

[-h] 关机后关闭电源〔halt〕。

[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。

[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。

[-f] 在重启计算器〔reboot〕时忽略fsck。

[-F] 在重启计算器〔reboot〕时强迫fsck。

[-time] 设定关机〔shutdown〕前的时间。

2.halt—-*简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

3.reboot

reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。

我比较经常适用这个命令~~

4.init

init 是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别 (runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变 init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

Linux 服务器上建立用户并分配权限

查看用户

whoami #要查看当前登录用户的用户名
who am i #表示打开当前伪终端的用户的用户名
who mom likes

who 命令其它常用参数

参数 说明
-a 打印能打印的全部
-d 打印死掉的进程
-m 同am i,mom likes
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级

1. 创建用户

adduser这个命令,我们很容易理解其作用,因为完全可以顾名思义:add是英语“添加”的意思,user是英语“用户”的意思,因此adduser就是用于添加用户。

adduser newname // 新建用户newname

useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。
adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。
其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作

删除用户

deluser是delete和user的缩写,delete是英语“删除”的意思,user是“用户”的意思。

userdel newname

单单用deluser命令,不加参数的话,只会删除用户,但是不会删除在/home目录中的用户家目录。如果你想要连此用户的家目录也一并删除,可以加上 –remove-home 这个参数,如下:

deluser –remove-home newname

这样,不仅删除了newname这个用户,连/home/newname这个目录也会删除。

注意:adduser和deluser命令只是Debian一族(包括Ubuntu)才有的命令。其他的LInux发行版,一般来说,添加用户和删除用户是用useradd和userdel命令。
而且,用useradd添加用户之后,在默认的情况下,该账号是暂时被封锁的, 也就是说,该账号是无法登录,须要用passwd命令来给新创建的用户设置密码之后才可以使用。

创建组

addgroup是add和group的缩写,add是英语“添加”的意思,group是英语“群组”的意思。所以addgroup命令用于添加一个新的群组。

sudo addgroup siatstudent

groupadd testgroup

* 修改组*

groupmod -n test2group testgroup

删除组

delgroup是delete和group的缩写,delete是英语“删除”的意思,group是英语“群组”的意思。所以delgroup命令用于删除一个已存在的群组。

delgroup happy

就删除了happy这个群组。

groupdel test2group

注意:addgroup和delgroup命令只是Debian一族(包括Ubuntu)才有的命令。其他的LInux发行版,一般来说,添加用户和删除用户是用groupadd和groupdel命令。

查看组

cd /home
ls -l
#第三列表示文件或目录的所有者,第四列表示文件或目录的所在群组

groups #查看当前登陆用户所在的组
groups testnewuser #查看testnewuser 所在的组
cat /etc/group #查看所有组

passwd命令:修改密码

passwd命令是password这个英语单词的缩写,表示“密码”

passwd newname
1
usermod命令:修改用户账户

usermod是user和modify的缩写,user是英语“用户”的意思,modify是“修改”的意思。usermod命令用于修改用户的账户。

-l:对用户重命名,但是/home目录中的用户家目录名不会改变,需要手动修改。
-g:修改用户所在群组

usermod -g siatstudent newname

当然我们也可以一次将一个用户添加到多个群组,就用 -G 参数(大写的G)。用法如下:

usermod -G friends,happy,funny newname

以上命令把newname添加到friends,happy和funny三个群组。记得群组名之间要用逗号分隔,而且没有空格。

注意:使用usermod时要小心,因为配合-g或-G参数时,它会把用户从原先的群组里剔除,加入到新的群组。如果你不想离开原先的群组,又想加入新的群组,可以在-G参数的基础上加上-a参数,a是英语append的缩写,表示“追加”。例如:

usermod -aG happy newname

以上命令就把newname追加到群组happy里了,这样newname就属于两个群组:siatstudent和happy

groups newname #查看newname所属群组

2. 设置文件的权限

udo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

chmod命令详细用法
chmod命令:修改文件的访问权限
chmod是change和mode的缩写,change是英语“改变”的意思,mode是“模式”的意思。chmod命令用于修改文件的各种访问权限。

指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [–help] [–version] mode file…

说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行。

d:是英语directory的缩写,表示“目录”。就是说这是一个目录。
l:是英语link的缩写,表示“链接”。就是说这是一个链接。
r:是英语read的缩写,表示“读”。就是说可以读这个文件。
w:是英语write的缩写,表示“写”。就是说可以写这个文件,也就是可以修改。
x:是英语execute的缩写,表示“执行,运行”。就是说可以运行这个文件

访问权限是按照用户来划分的
%title插图%num

如上图,除开*个表示文件或目录属性的符号(此处是d,表示目录。如果是l,则是链接。如果是短横-,那么是普通文件。),其他的9个符号被划分为三组,从左到右分别

*组rwx表示文件的所有者对于此文件的访问权限。
第二组rwx表示文件所属的群组的其他用户对于此文件的访问权限。
第三组rwx表示除前两组之外的其他用户对于此文件的访问权限。

举例分析

ls -l file.txt
-rw-r–r–

我们从左到右来分析这些符号都表示什么:

-:*个短横表示这是一个普通文件。如果此处是d,那么表示目录;如果是l,那么表示链接,等等。
rw-:表明了文件的所有者(此处是newname)对文件有读,写的权限,但是没有运行的权限。也很好理解,因为这是一个普通文件,默认没有可执行的属性。记住:如果有w权限(写的权限),那么表明也有删除此文件的权限。
r–:表明文件所在的群组(此处是newname)的其他用户(除了newname之外)只可以读此文件,但不能写也不能执行。“可远观而不可亵玩焉”。
r–:表示其他用户(除去newname这个群组的用户)只可以读此文件,但不能写也不能执行。

综上所述,file.txt 这个文件是一个普通文件,不是一个目录,也不是链接文件,它的所有者newname可以读写它,但不能执行;其他的用户只能读。

记住:root是超级管家,它有所有权限,”只有它想不到的,没有它做不到的”。
它可以读、写、运行任意文件。

用数字来分配权限:chmod的*对用法

事实上,Linux系统对每种权限(r,w和x)分配了对应的数字:

权限 数字
r  4
w  2
x  1

所以,如果我们要合并这些权限,就需要做简单的加法了:将对应的数字相加。

假如我们要分配读,写权限,那么我们就要用4+2,就等于6。数字6表示具有读和写权限。

以下是可能的组合形式:

权限  数字 计算
— 0  0 + 0 + 0
r– 4  4 + 0 + 0
-w- 2  0 + 2 + 0
–x 1  0 + 0 + 1
rw- 6  4 + 2 + 0
-wx 3  0 + 2 + 1
r-x 5  4 + 0 + 1
rwx 7  4 + 2 + 1

所以,对于访问权限的三组(所有者的权限,群组用户的权限,其他用户的权限),我们只要分别做加法就可以了,然后把三个和连起来。

chmod 600 file.txt

例如:640分别表示:

文件的所有者有读和写的权限。
文件所在群组的其他用户具有读的权限。
除此之外的其他用户没有任何权限。

因此,我们可以给的*宽泛的权限就是 777:所有者,群组用户,其他用户都有读,写和运行的权限。这样,所有人就都可以对此文件“为所欲为”了。

相反,如果权限是000,那么没有人能对此文件做什么。当然,除了root,root可以做任何事。

用字母来分配权限:chmod的相对用法

我们需要知道不同的字母代表什么:

u:user的缩写,是英语“用户”的意思。表示所有者。
g:group的缩写,是英语“群组”的意思。表示群组用户。
o:other的缩写,是英语“其他”的意思。表示其他用户。
a:all的缩写,是英语“所有”的意思。表示所有用户。

当然了,和这些字母配合的还有几个符号:

+:加号,表示添加权限。
-:减号,表示去除权限。
=:等号,表示分配权限。

接下来,我们举例说明如何使用:

#文件file.txt的所有者增加读和运行的权限。
chmod u+rx file.txt

#文件file.txt的群组其他用户增加读的权限。
chmod g+r file.txt

#文件file.txt的其他用户移除读的权限。
chmod o-r file.txt

#文件file.txt的群组其他用户增加读的权限,其他用户移除读的权限。
chmod g+r o-r file.txt

#文件file.txt的群组其他用户和其他用户均移除读的权限。
chmod go-r file.txt

#文件file.txt的所有用户增加运行的权限。
chmod +x file.txt

#文件file.txt的所有者分配读,写和执行的权限;群组其他用户分配读的权限,不能写或执行;其他用户没有任何权限。
chmod u=rwx,g=r,o=- file.txt

-R参数:递归地修改访问权限

chmod配合-R参数可以递归地修改文件访问权限。

假如我要只允许newname这个用户能读,写,运行/home/newname这个目录的所有文件(当然,root不算,root可以做任何事),该怎么做呢?

chmod -R 700 /home/newname

chown命令

chown是change和owner的缩写,change是英语“改变”的意思,owner是英语“所有者”的意思。

因此chown命令用于改变文件的所有者。

chown命令:改变文件的所有者

后接新的所有者的用户名,再接文件名。例如:

chown newname file.txt

chown命令也可以改变文件的群组,用法如下:

chown newname:friends file.txt

这句命令就把file.txt这个文件的所有者改为newname,群组改为friends了。用法也很简单,就是在所有者和群组之间用冒号隔开。

-R参数:递归设置子目录和子文件

R是recursive的缩写,表示“递归”。所以如果chown命令配上-R参数,就会使得被修改的目录的所有子目录和子文件都改变所有者(或者连群组也改变,如果用上述冒号的方法来同时修改所有者和群组)。

想要把用户newname的家目录的所有子目录和文件都占为己有。我可以这么做:

chwn -R bids:bids /home/newname

这样不但使/home/newname这个目录的所有者和群组都变成bids,而且其子目录和子文件也都是如此。

chmod命令:修改访问权限

在Linux系统里,每个文件和目录都有一列权限属性。这一列访问权限指明了谁有读的权利,谁有修改的权利,谁有运行的权利。

chgrp命令:改变文件的群组

chgrp是change和group的缩写,change是英语“改变”的意思,group是英语“群组”的意思。

chgrp命令用于改变文件的群组。

后接新的群组名,再接文件名。例如:

chgrp newname file.txt

-----------------------
举例说明:Linux系统新挂载了一个硬盘,命名为publicspace。
设置一个公共盘publicshare,所有用户都可以访问该文件夹来分享文件

chmod 777 publicshare -R

若在该文件夹新建文件夹newname,只能让用户newname有权限对文件夹newname

#更改文件的所有者和组
sudo chown newname:newname newname

#更改文件的读写权限
sudo chmod go-rw newname

————————————————————————————

3. /etc/skel 目录

/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;

/etc/skel 目录下的文件,一般是我们用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;

————————————————————————————
4. 新建用户的独立性
修改目录权限,使得Linux 每个账户只能查看自己的根目录,无法查看其它账户的目录。
首先要进入Linux系统下所有用户所在的文件夹

cd /home/

然后

chmod go-rw XXX.XXX

表示删除 XXX.XXX中组群和其他人的读和写的权限。
例如

chmod go-rw lili

这就是说设置lili这个目录只有lili可以查看,Linux下的其它账户无法查看。

linux设置端口转发(一键设置)

linux设置端口转发

#下载rinetd程序并进入文件夹

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd

#修改转发端口范围

sed -i ‘s/65536/65535/g’ rinetd.c mkdir /usr/man&&make&&make install

#设置转发规则,只需要改为自己需要转发的域名和端口就行了

echo ‘0.0.0.0 6379 csdn.net 6379’ >/etc/rinetd.conf

# 0.0.0.0表示当前主机 ,*个6379表示要监听的当前主机端口,csdn.net表示目标地址,第二个6379表示要转发到的目标主机端口

#手动启动rinetd

rinetd

#自动启动

echo rinetd >>/etc/rc.local

将以上修改以上命令中映射的端口,保存到.sh脚本文件就可以一键开启端口映射啦

linux firewall防火墙管理

一. 设置firewall规则
连接阻断在防火墙中有两种,一个是 drop,一个是 reject。

drop 是直接丢弃请求,不返回任何数据,直到客户端连接尝试超时。
reject 是直接断开,并返回 ICMP 错误信息包。
例1:对外暴露8080端口
firewall-cmd –permanent –add-port=8080/tcp
1
例2:使mysql服务的3306端口只允许192.168.1.1/24网段的服务器能访问
添加规则
启用IP名单
firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ source address=”192.168.1.1/24″ port protocol=”tcp” port=”3306″ accept”
#reload使生效
firewall-cmd –reload

删除IP名单
firewall-cmd –zone=public –remove-rich-rule=”rule family=’ipv4′ source address=’192.168.1.1/24′ port port=”3306″ protocol=tcp drop” –permanent开启伪装IP
firewall-cmd –permanent –add-masquerade

配置端口转发
firewall-cmd –permanent –add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的。

二. firewall命令
1.启动, 停止, 重启firewalld
停止systemctl stop firewalld.service
启动 systemctl start firewalld.service
重启 systemctl restart firewalld.service
查看状态: systemctl status firewalld
5.禁止firewall开机启动 systemctl disable firewalld
设置开机启用防火墙:systemctl enable firewalld.service
2.查看firewall规则与状态
查看默认防火墙状态(关闭后显示notrunning,开启后显示running)firewall-cmd –state

查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)firewall-cmd –list-all

查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)firewall-cmd –list-all-zones

重新加载配置文件 `firewall-cmd –reload

3.配置firewalld-cmd
查看版本: firewall-cmd –version
查看帮助: firewall-cmd –help
显示状态: firewall-cmd –state
查看所有打开的端口: firewall-cmd –zone=public –list-ports
更新防火墙规则: firewall-cmd –reload
查看区域信息: firewall-cmd –get-active-zones
查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0
拒*所有包:firewall-cmd –panic-on
取消拒*状态: firewall-cmd –panic-off
查看是否拒*: firewall-cmd –query-panic

4. 那怎么开启一个端口呢
添加(–permanent永久生效,没有此参数重启后失效)firewall-cmd –zone=public –add-port=80/tcp –permanent

重新载入(修改规则后使其生效)firewall-cmd –reload

查看 firewall-cmd –zone= public –query-port=80/tcp

删除 firewall-cmd –zone= public –remove-port=80/tcp –permanent

因为在/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则

5. 防火墙服务命令
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl –failed

快速修改Linux服务器远程端口方法

关于安全端口的一些说明,Linux远程端口默认22,很多破解机,等模拟猜测系统都是以默认端口22来模拟的 而22的端口是非常危险的,下面56云为大家带来的是修改Linux默认端口的方法!

*种:01假如要改LinuxSSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。02假如要限制SSH登陆的IP,那么可以如下做:先:修改/etc/hosts.deny,在其中加入sshd:ALL然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.241这样就可以限制只有192.168.0.241的I

*种:
01假如要改Linux SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。
02假如要限制SSH登陆的IP,那么可以如下做:
先:修改/etc/hosts.deny,在其中加入sshd:ALL
然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.241

这样就可以限制只有192.168.0.241的IP通过SSH登陆上LINUX机器了。当然在做为服务器方面,我都不装gnome和KDE的,而且很多东东都不装,这样增加安全系数。

第二种:
首先修改配置文件
vi /etc/ssh/sshd_config
找到#Port 22一段,这里是标识默认使用22端口,修改为如下:
Port 22
Port 50000
然后保存退出
执行/etc/init.d/sshd restart
这样SSH端口将同时工作与22和50000上。
现在编辑防火墙配置:vi /etc/sysconfig/iptables
启用50000端口。
执行/etc/init.d/iptables restart
现在请使用ssh工具连接50000端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。

之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速