根目录
系统中常用的命令目录
发布目录,相当于windows系统中的windows目录,保存系统中所有的核心内容。
系统管理所用到的一些配置文件。
用户目录,相当于windows系统中的program files目录,常用于安装系统所有用户共同使用。
root根用户的用户目录。相当于windows系统的C:/users/administrator目录,称为用户主目录。
启动Linux系统的核心文件。
保存其他用户主目录的目录
安转软件
从filesystem根目录开始寻找文件
写法:以/开头。例如找usr下local中内容,路径:/usr/local
从当前资源路径开始寻找,找到其他资源路径过程。
写法:一定不是以/开头。找当前资源的子目录直接写子目录名称,如果向上跳一级文件夹写法: …/
/表示磁盘根
~表示/root,root文件夹的根目录
Linux系统中的命令是严格区分大小写的。
print working directory - 输出当前工作目录,光标所在位置的目录
change directory - 切换目录
使用根目录作为定位标准,绝对寻址
cd /xxx/yyy/zzz
在当前目录位置开始相对寻址
cd xxx/yyy/zzz
直接进入root用户主目录
cd
cd ~
list - 列表目录中的内容。默认显示当前目录下的文件列表
ls
ls 目录位置(绝对路径|相对路径)
ls -a[目录] 查看所有(list all),包括隐藏文件。Linux中的隐藏文件都是以’.'开头的文件
ls -l[目录] 显示当前目录下的文件属性:
-|1代表文件 d|2代表目录
[root@localhost /]# cd / #进入更目录
[root@localhost /]# ls #显示根目录下的内容
aa bin dev home lib64 mnt proc run srv tmp var
bb boot etc lib media opt root sbin sys usr
[root@localhost /]# cd usr #根据相对地址进入usr目录
[root@localhost usr]# ls #显示usr目录下的内容
bin etc games include lib lib64 libexec local sbin share src tmp
[root@localhost usr]# cd /root #根据绝对地址进入root目录
[root@localhost ~]# cd ../usr #根据相对地址进入usr目录
[root@localhost usr]# pwd #打印当前光标所在位置
/usr
清空屏幕
创建空白文件
在Linux系统中,文件不需要强制后缀名
如:文本文件可以定义为:a|a.txt|a.text
touch 文件名
touch 目录/文件名
[root@localhost usr]# touch cc #在当前文件夹下创建cc文件【使用方法1】
[root@localhost usr]# touch dd/aa #【使用方法2】=>创建文件必须依托已存在的文件夹
touch: 无法创建"dd/aa": 没有那个文件或目录
[root@localhost usr]# ls #显示usr目录下的内容
bin cc etc games include lib lib64 libexec local sbin share src tmp
[root@localhost usr]# touch tmp/dd #在tmp文件夹下创建dd文件【使用方法2】
[root@localhost usr]# ls tmp #显示tmp目录下的内容
abrt
dd
[root@localhost usr]# clear #清空屏幕
编辑文件,vim是增强命令。不是所有的Linux都支持vim
vi fileName
是控制编辑的文件的状态的,如:保存,退出编辑等
a -append,追加的方式进入编辑模式
i -insert,插入的方式进入编辑模式
o -under line,在光标所在的位置之下,新增一行,进入编辑模式
O -preline,在光标所在的位置之上,新增一行,进入编辑模式
write -保存
quit -退出vi编辑器
保存并退出
强制退出不保存
搜索关键字,keywords是关键字的命名
是编辑文件内容的
进入命令模式 -esc
查看文件的全部内容
[root@localhost /]# ls
aa bin dev home lib64 mnt proc run srv tmp var
bb boot etc lib media opt root sbin sys usr
[root@localhost /]# vi bb #使用相关命令对文件进行编辑
[root@localhost /]# cat bb #查看bb文件的全部内容
hello bb
:w wirte
:q quit
:wq write and quit
:q! not write but quit
/key search
分屏显示文件内容,显示后,使用空格显示下一屏,回车显示下一行,q退出分屏显示
实现文件的前多少行,默认是前10行
head -number filename
查看文件中的前多少行
显示文件末尾多少行。默认显示末尾10行
tail -number filename
[root@localhost /]# more etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.cen
tos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
--More--(91%)
[root@localhost /]# head -5 etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
[root@localhost /]#
--tail--(略)
make directory -创建目录
mkdir directoryName
mkdir /directoryName
mkdir -p parentDirectoryName/directoryName
[root@localhost /]# ls
aa bin dev home lib64 mnt proc run srv tmp var
bb boot etc lib media opt root sbin sys usr
[root@localhost /]# mkdir cc #相对创建一个子目录cc
[root@localhost /]# ls
aa bin cc etc lib media opt root sbin sys usr
bb boot dev home lib64 mnt proc run srv tmp var
[root@localhost /]# mkdir /usr/aa #绝对创建一个目录aa
[root@localhost /]# ls /usr
aa bin cc etc games include lib lib64 libexec local sbin share src tmp
[root@localhost /]# mkdir -p usr/aa/bb #一次性创建多级目录
[root@localhost /]# ls
aa bin cc etc lib media opt root sbin sys usr
bb boot dev home lib64 mnt proc run srv tmp var
[root@localhost /]# ls usr
aa bin cc etc games include lib lib64 libexec local sbin share src tmp
[root@localhost /]# ls usr/aa
bb
remove -删除
rm filename 删除当前文件夹下的文件
rm directoryName/filename 根据相对路径删除某个文件夹下的文件
rm /directoryName/filename 根据绝对路径删除某个文件夹下的文件
-f force 忽略不存在的文件,从不给出提示
-r recursive 指示rm将参数中列出的全部目录和子目录均递归的删除
要记忆选项-rf的含义,可以尝试以下记忆方法:
关联词法:将选项与与其相关的词汇或短语进行关联。例如,可以将-r与"recursive"(递归)相关联,表示递归删除;将-f与"force"(强制)相关联,表示强制删除。
图像联想:将选项转化为具体的图像,帮助记忆。可以想象一个手持锤子的人(-r),他用力敲击着一个目录(-f),以表示递归强制删除操作。
语音联想:将选项读作一个易于记忆的短语或句子。例如,将-rf读作"remove forcefully"(强制删除)。
rm -f fileName
rm -f directoryName/filename
rm -f /directoryName/filename
rm -r directoryName
rm -rf directoryName
[root@localhost /]# ll
总用量 36
-rw-r--r--. 1 root root 33 8月 27 04:14 aa
-rw-r--r--. 1 root root 80 8月 27 21:46 bb
lrwxrwxrwx. 1 root root 7 8月 26 21:28 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 8月 26 21:34 boot
drwxr-xr-x. 2 root root 6 8月 27 22:17 cc
drwxr-xr-x. 20 root root 3320 8月 27 21:02 dev
drwxr-xr-x. 139 root root 8192 8月 27 00:53 etc
drwxr-xr-x. 3 root root 17 8月 26 21:37 home
lrwxrwxrwx. 1 root root 7 8月 26 21:28 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 8月 26 21:28 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 2 root root 6 4月 11 2018 mnt
drwxr-xr-x. 3 root root 16 8月 26 21:31 opt
dr-xr-xr-x. 219 root root 0 8月 27 21:01 proc
dr-xr-x---. 14 root root 4096 8月 27 21:02 root
drwxr-xr-x. 42 root root 1240 8月 27 21:03 run
lrwxrwxrwx. 1 root root 8 8月 26 21:28 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x. 13 root root 0 8月 27 21:02 sys
drwxrwxrwt. 49 root root 4096 8月 27 22:17 tmp
drwxr-xr-x. 14 root root 175 8月 27 22:18 usr
drwxr-xr-x. 20 root root 282 8月 26 21:35 var
[root@localhost /]# rm aa #删除文件aa需要提示
rm:是否删除普通文件 "aa"? #此处因该输入y =》删除失败
[root@localhost /]# rm -f bb #删除文件bb不需要提示
[root@localhost /]# ls
aa boot dev home lib64 mnt proc run srv tmp var
bin cc etc lib media opt root sbin sys usr
[root@localhost /]# rm aa
rm:是否删除普通文件 "aa"?y #删除成功
[root@localhost /]# ls
bin cc etc lib media opt root sbin sys usr
boot dev home lib64 mnt proc run srv tmp var
[root@localhost /]# rm cc #删除文件夹需要夹参数 -r 需要提示
rm: 无法删除"cc": 是一个目录
[root@localhost /]# rm -r cc
rm:是否删除目录 "cc"?y
[root@localhost /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]# cd usr # 根据相对路径进入usr目录
[root@localhost usr]# ll
总用量 256
drwxr-xr-x. 3 root root 16 8月 27 22:19 aa
dr-xr-xr-x. 2 root root 49152 8月 26 21:31 bin
-rw-r--r--. 1 root root 0 8月 27 21:22 cc
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 9 root root 4096 8月 26 21:31 include
dr-xr-xr-x. 42 root root 4096 8月 26 21:31 lib
dr-xr-xr-x. 144 root root 77824 8月 26 21:33 lib64
drwxr-xr-x. 46 root root 12288 8月 26 21:31 libexec
drwxr-xr-x. 12 root root 131 8月 27 03:54 local
dr-xr-xr-x. 2 root root 20480 8月 26 21:31 sbin
drwxr-xr-x. 239 root root 8192 8月 26 21:31 share
drwxr-xr-x. 4 root root 34 8月 26 21:28 src
lrwxrwxrwx. 1 root root 10 8月 26 21:28 tmp -> ../var/tmp
[root@localhost usr]# rm cc #删除文件cc
rm:是否删除普通空文件 "cc"?y
[root@localhost usr]# ls aa
bb
[root@localhost usr]# rm -rf aa #删除目录aa
[root@localhost usr]# ls
bin etc games include lib lib64 libexec local sbin share src tmp
move - 移动或重命名。主要用于重命名。
copy -用于复制文件或目录
? -r : 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
cp source target
cp 源信息 目录信息
cp fileName newFileName
cp directoryName/fileName directoryName/【newfileName】
cp /directoryName/fileName /directoryName/【newfileName】
cp -r directoryName newDirectoryName
[root@localhost tmp]# cp dd / #把dd文件复制到根目录下
[root@localhost tmp]# ls /
bin dd etc lib media opt root sbin sys usr
boot dev home lib64 mnt proc run srv tmp var
[root@localhost tmp]# ls
abrt
dd
[root@localhost ~]# mkdir aaa
[root@localhost ~]# ls
aaa a.info anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# mkdir bbb/ccc
mkdir: 无法创建目录"bbb/ccc": 没有那个文件或目录
[root@localhost ~]# mkdir --help
用法:mkdir [选项]... 目录...
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask
-p, --parents no error if existing, make parent directories as needed
-v, --verbose print a message for each created directory
-Z set SELinux security context of each created directory
to the default type
--context[=CTX] like -Z, or if CTX is specified then set the SELinux
or SMACK security context to CTX
--help 显示此帮助信息并退出
--version 显示版本信息并退出
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告mkdir 的翻译错误
要获取完整文档,请运行:info coreutils 'mkdir invocation'
[root@localhost ~]# mkdir -p bbb/ccc
[root@localhost ~]# ls
aaa a.info anaconda-ks.cfg bbb initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# rm -rf bbb
[root@localhost ~]# ls
aaa a.info anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# mv aaa/ bbb
[root@localhost ~]# ls
a.info anaconda-ks.cfg bbb initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
在补全命令时,按下俩次tab键会出现如下效果。
[root@localhost ~]# user
useradd userdel userhelper usermod usernetctl users
[root@localhost ~]# cd /home
[root@localhost home]# ll
总用量 4
drwx------. 15 roo roo 4096 8月 27 01:04 roo
[root@localhost home]# useradd -u 8888 baizhan
[root@localhost home]# ll
总用量 4
drwx------. 3 baizhan baizhan 78 9月 13 09:02 baizhan
drwx------. 15 roo roo 4096 8月 27 01:04 roo
-g<群组>:修改用户所属的群组;
-u:修改用户ID;
[root@localhost home]# id baizhan
uid=8888(baizhan) gid=8888(baizhan) 组=8888(baizhan)
[root@localhost home]# usermod -u 1001 baizhan
[root@localhost home]# id baizhan
uid=1001(baizhan) gid=8888(baizhan) 组=8888(baizhan)
-l:锁住密码;
-u:解开已上锁的帐号。
[root@localhost home]# passwd baizhan
更改用户 baizhan 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost home]# passwd -l baizhan
锁定用户 baizhan 的密码 。
passwd: 操作成功
[root@localhost home]# passwd -u baizhan
解锁用户 baizhan 的密码。
passwd: 操作成功
-f 强制删除用户
-r 同时删除用户及用户家目录
这个命令的目的删除用户,与它相关的文件有:
1 /etc/passwd
2 /etc/shadow
3 /home/username
[root@localhost home]# userdel -rf baizhan
[root@localhost home]# ll
总用量 4
drwx------. 15 roo roo 4096 8月 27 01:04 roo
-g:指定新建工作组的id;
-g<群组识别码>:设置欲使用的群组识别码;
-n<新群组名称>:设置欲使用的群组名称。
[root@localhost home]# groupadd -g 344 web
[root@localhost home]#
[root@localhost home]# groupmod -g 333 -n web2 web
[root@localhost home]#
[root@localhost home]# groupmod web
groupmod:“web”组不存在
[root@localhost home]# groupmod web2
Linux下用户分为三类:超级用户、普通用户、伪用户
超级用户:用户名为root,具有一切管理权限,UID为0,可以创建多个管理员。
普通用户:在默认情况下,普通用户UID是介于500~6000;
伪用户:这些用户的存在是为了方便系统管理,满足相应的系统进程对文件属主的要求。伪用户不能够登录,它的UID介于1-499。
由于超级权限在系统管理中的不可缺少的重要作用,为了完成系统管理任务,必须用到超级权限。
[root@localhost home]# useradd -u 1001 baizhan
[root@localhost home]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost home]# su baizhan
[baizhan@localhost home]$ su root
密码:
[root@localhost home]#
权限最大的用途:安全性
1 普通文件(-):存放数据,程序等信息的文件,一般为文本文件和二进制文件。
2 目录文件(d):文件系统中一个目录所包含的目录文件,包括文件名和子目录名。
3 链接文件(l):可以在不同的文件系统之间建立链接关系来实现对文件的访问。
4 设备文件?:把IO设备映射为一个设备文件。
5 管道文件§:主要用于在进程间传递数据。
所谓的文件权限,是指对文件访问权限,包括对文件的读、写、删除、执行操作。Linux是一个多用户操作系统,它运行多个用户同时登录和工作,因此Linux将一个文件或者目录与一个用户和组联系起来。
chgrp:改变文件所属群组;
chown:改变文件所有人;
chmod:改变文件的属性;
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有9个,分别是owner/group/others(拥有者/组/其他)三种身份各有自己的read/write/execute权限。
chmod 355 a.info
chmod u+r,u-x a.info
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
更改文件属主,也可以同时更改文件属组
[root@localhost /]# vim a.info
[root@localhost /]# ll
总用量 36
-rw-r--r--. 1 root root 15 9月 17 16:48 a.info
[root@localhost /]# groupadd java
[root@localhost /]# chgrp -R java a.info
[root@localhost /]# ll
总用量 36
-rw-r--r--. 1 root java 15 9月 17 16:48 a.info
[root@localhost /]# chown baizhan a.info
[root@localhost /]# ll
总用量 36
-rw-r--r--. 1 baizhan java 15 9月 17 16:48 a.info
[root@localhost /]# vim a.info
[root@localhost /]# cat a.info
this is a.info
end
[root@localhost /]# su baizhan
[baizhan@localhost /]$ vim a.info
[baizhan@localhost /]$ cat a.info
this is a.info!
end;
[baizhan@localhost /]$ chown baizhan2 a.info
chown: 正在更改"a.info" 的所有者: 不允许的操作
[baizhan@localhost /]$ groups baizhan
baizhan : baizhan
[baizhan@localhost /]$ usermod -g java baizhan
usermod: Permission denied.
usermod:无法锁定 /etc/passwd,请稍后再试。
[baizhan@localhost /]$ su root
密码:
[root@localhost /]# usermod -g java baizhan
[root@localhost /]# groups baizhan
baizhan : java
[root@localhost /]# ll
-rw-r--r--. 1 baizhan java 21 9月 17 16:54 a.info
[root@localhost /]# chmod 355 a.info
[root@localhost /]# ll
--wxr-xr-x. 1 baizhan java 21 9月 17 16:54 a.info
[root@localhost /]# chmod u+r,u-x a.info
[root@localhost /]# ll
-rw-r-xr-x. 1 baizhan java 21 9月 17 16:54 a.info
[root@localhost /]# chmod g-x,o-x a.info
[root@localhost /]# ll
-rw-r--r--. 1 baizhan java 21 9月 17 16:54 a.info
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# tar -zcvf my.tar.gz a.info b.txt
a.info
b.txt
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# rm -f a.info
[root@localhost ~]# ls
anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# rm -f b.txt
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# tar -zxvf my.tar.gz
a.info
b.txt
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# rm -f b.txt
[root@localhost ~]# rm -f a.info
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# tar -zxvf my.tar.gz
a.info
b.txt
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# tar -cvf my.tar a.info b.txt
a.info
b.txt
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# rm -f a.info
[root@localhost ~]# rm -f b.txt
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# tar -xvf my.tar
a.info
b.txt
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# tar -xvf my.tar.gz
a.info
b.txt
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg my.tar my.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# rm -f my.tar
[root@localhost ~]# rm -f my.tar.gz
[root@localhost ~]# ls
a.info anaconda-ks.cfg b.txt initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
快捷键 | 作用 |
---|---|
CTRL+Alt+t | 进入ubuntu终端 |
CTRL+shift+‘+’ | 字体放大 |
CTRL+‘-’ | 字体缩小 |
CTRL+shift+t | 在windows中打开多个标签 |
CTRL+pageup | 多个标签之间的切换 |
命令 | 参数 | 作用 |
---|---|---|
ls | -l | 以长格式显示目录下的内容列表,包括文件的权限、链接数、所有者名称和组所有者、文件大小、最后修改日期时间和文件/目录名称 |
-a | all, 显示所有文件及目录 (. 开头的隐藏文件也会列出) | |
-R | 连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来 | |
-d | 仅列出目录本身,而不是列出目录内的文件数据(常用) | |
-t | sort by modification time,以文件修改时间排序(从最新开始排) | |
pwd | 显示当前路径 | |
chmod | 修改权限【用户(u g o a)、行为(= + -)、权限(w r x)chmod u+r test 】或者【使用二进制0~7chmod 776 test 】 | |
touch | 创建文件(可一次创建多个),如果相同则更新【touch b.txt c.txt 】 | |
mkdir | 创建文件夹 | |
-p | 一次可以创建多层 | |
cp | -i | 有提示 |
-r | 递归的复制,即把这个目录里面的全部内容全部复制过去 | |
mv | 重命名(文件、目录)、移动到其他目录(移动到的目录不存在是重命名、存在的话就成功移入到该目录下) | |
rm | -r | 强制删除文件 |
rmdir | 删除空文件夹 | |
man | 查看帮助文档(b先后 f向前 enter一行 /查找 n下一个查到的内容) | |
元字符 | * | 通配符 可匹配多个字符 |
? | 只能代替一个字符 | |
[] | [a-c]是一个范围、[ac]是一个序列 | |
; | 一行中有多个命令 | |
> | 从键盘或文件输入,保存到文件中 | |
< | 从文件读取,而不是从键盘读取数据 | |
>> | 追加数据到文件中 | |
head | -n | 显示前几行 |
tail | -n | 显示后几行 |
显示5-7行 head -7 a.txt | tail -3 | ||
什么是su?
它表示切换到某某用户模式,提示输入密码时该密码为切换后账户的密码。
什么是sudo?
简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。