一、使用命令对Linux系统操作
(1)、用户语言支持
[root@server7 ~]# echo $LANG ## 1、使用变量查看当前用户使用语言
[root@server7 ~]# locale ## 2、查看用户使用语言
root@server7 ~]# localectl set-locale LANG=en_US.utf8 ## 使用localectl命令设置系统默认语言,会将相应的locale更改存储在/etc/locale.conf
(2)、shell 基础知识
Red Hat Enterprise Linux中供用户使用的默认shell是GNU Bourne-Again Shell(bash)。Bash是UNIX类似的系统上使用的其中一个最成功shell的改进版本,即Bourne Shell(sh)。
如果以交互方式使用shell,它在等待用户输入命令时显示一个字符串。这称为shell提示符。普通用户启动shell时,默认提示符的结尾是 $ 字符。
[root@server7 ~]$
如果以超级用户root运行shell,则 $ 替换 # 。这可以更加显著地表明这是超级用户shell,帮助避免在特权账户中出现意外和错误。
[root@server7 ~]#
在shell提示符下输入得命令由三个基本部分组成:
· 命令(需要运行)
· 选项(用于调整命令的行为)
· 参数(通常是命令的目标)
当我们要有效的使用命令时,用户需要了解命令接受的选项和参数,以及它们使用的正确顺序,大致的命令都有 - -help 选项,这可以使命令打印其作用的说明,即命令使用的语法格式。
用法语句可能看起来比较复杂,难以读懂。当用户熟悉几种基本的管理后,相对来说,有助于我们后期查看语法格式。
· 方括号 [] 括起的是可选项目。
· … 前面的任何内容均表示该类型项目的任意长度列表。
· 以竖线 | 分隔得多个项目表示只能指定其中一个项目。
· 尖括号 <> 中文本表示变量数据。例如, 表示 “在此处插入您要使用得文件名”
[root@server7 ~]# passwd --help # 例,设置密码
Usage: passwd [OPTION...] <accountName>
简单命令示例
[root@server7 ~]# date +%R ## 查看时间点数
20:43
[root@server7 ~]# file /etc/passwd ## 扫描文件内容得开头,显示该文件类型
/etc/passwd: ASCII text
[root@server7 ~]# head -5 /etc/passwd ## 显示文件得头5行,默认不加选项是显示10行
[root@server7 ~]# wc /etc/passwd ## wc可以己算文件中得行、字和字符得数量。可以接受 -l 、-w 、-c 选项,分别用于仅显示行数、字数或字符数
46 91 2432 /etc/passwd
<Tab补齐
Tab补齐允许用户在提示符下键输入足够的内容使其唯一后快速补全命令或者文件名,如果键入的字符不唯一,则按键盘两次Tab能够显示键入的字符为开头的所有命令。>
命令历史记录
history 命令可以显示之前执行的命令的列表,带有命令编号作为前缀。保存在 ~/.bash_history 文件里。
[root@server7 ~]# history
1 locale
2 cat /etc/localtime
3 cat /etc/locale.conf
..........
57 ss -help
[root@server7 ~]# !1 //通过!+ 历史命令编号可以重新执行这个命令
locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
[root@server7 ~]# !s // ! + 字符会指定最近一个以指定字符床开头的命令
ss -help
Usage: ss [ OPTIONS ]
编辑命令行的快捷方式
快捷方式 | 描述 |
---|---|
Ctrl+a | 跳到命令行的开头。 |
Esc+. | 将上一条命令的最后一个单词复制到当前行的光标所在位置。 |
Ctrl+e | 跳到命令行的末尾。 |
Ctrl+u | 将光标处到命令行开头的内容清除。 |
Ctrl+k | 将光标处到命令行末尾的内容清除。 |
Ctrl+向左箭头 | 跳到命令行中前一字的开头。 |
Ctrl+向右箭头 | 跳到命令行中下一字的末尾。 |
Ctrl+r | 在历史记录列表中搜索某一模式的命令。 |
二、从命令行管理文件
(1)、Linux文件系统层次结构
Linux系统中的所有文件存储在文件系统中,它们被组织到一个颠倒的目录树中,称为文件系统层次结构。这棵树事颠倒的,因为树根在该层次结构的顶部,树根的下方延伸初目录和子目录的分支和文件。
/ 目录是根目录,位于文件系统层次结构的顶部。/ 字符还用做文件名的目录分隔符。
下表根据名称和用途列出系统中一些最重要的目录。
位置 | 目的 |
---|---|
/usr | 安装的软件、共享的库,包括文件和静态只读程序数据。重要的子目录有:/usr/bin:用户命令。/usr/sbin:系统管理命令。/usr/local:本地自定义软件 。 |
/etc | 特定于此系统的配置文件。 |
/var | 特定于此系统的可变数据,在系统启动之间保持永久性 |
/run | 自上一次系统启动以来启动的进程的运行时数据。此目录中的内容在重启时会重新创建。 |
/home | 主目录供普通用户存储个人数据和配置文件的目录。 |
/root | 超级用户的主目录 |
/tmp | 供临时文件试用的全局可写空间。10天内为访问、未更改或修改得文件将自动从该目录中删除。还有一个零食目录/var/tmp,该目录中的文件如果在30天内未曾访问、更改或修改过,将被自动删除。 |
/boot | 开始启动的过程所需的文件。 |
/dev | 包含特殊、设备文件,供系统用于访问的硬件。 |
(2)、查看命令
绝对路径和相对路径
绝对路径:是完全限定的名称,自根(/)目录开始,指定到达唯一代表单个文件所遍历的每一个子目录。文件系统中的每个文件都有一个唯一绝对的路径名,可通过一个简单的规则识别:第一个字符是正斜杠(/)的路径名是绝对路径。
相对路径:与绝对路径一样,相对路径也标识唯一文件,仅指定从工作目录(工作目录指现在所处的目录位置,能够通过提示符的第三段看出。)到达该文件所需的路径。识别相对路径的一个简单的规则:第一个字符是正斜杠之外的其他字符的路径名是相对路径名。
[root@server7 ~]# pwd //pwd命令显示当前位置的完整路径名
/root
[root@server7 /]# ls //ls列出指定目录的目录内容,如未指定目录,则显示当前目录的内容
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@server7 /]# cd /etc/ //cd命令可以切换当前目录,cd后面不加参数默认切换到root主目录
[root@server7 etc]#
touch命令通常可将文件的时间戳更新为当前的日期和时间,而不作其他修改。当指定文件不存在时,则会创建一个新的空文件。
[root@server7 tmp]# touch test.gif
[root@server7 tmp]# touch test1.ogg
ls命令具有多个选项,用于显示文件的属性。
-l (长列表格式)、-a(列出所有文件,包含隐藏文件),-R(递归方式,包含所有子目录的内容)。
[root@server7 tmp]# ls -laR
.:
total 4
drwxrwxrwt. 2 root root 80 Apr 21 23:02 . //当前目录,适当的试用可以减少路径字符的输入
dr-xr-xr-x. 17 root root 4096 Mar 30 23:22 .. //父目录
-rw-r--r--. 1 root root 0 Apr 21 23:05 .luelue.ogg //开头为. 的时隐藏文件
-rw-r--r--. 1 root root 0 Apr 21 23:02 test.gif
(3)、文件管理
mkdir 命令创建一个或多个目录或子目录,如果文件名已经存在,或者尝试在不存在的父目录中创建目录,将生成错误,常用 -p 选项来创建级联目录。
[root@server7 ~]# mkdir -p /root/test1/test2/test3
[root@server7 ~]# ls -R ./test1/
./test1/:
test2
./test1/test2:
test3
./test1/test2/test3:
cp 命令,复制文件;当加上选项 -r 时,复制整个目录。“cp [-option] sour(源文件) dest(目的文件)”。
[root@server7 ~]# cp /etc/passwd ./
[root@server7 ~]# ls passwd
passwd
mv 命令,移动文件或目录;当路径相同的情况下为对文件进行重命名。
[root@server7 ~]# mv passwd /tmp/
[root@server7 ~]# ls /tmp/
passwd
...
[root@server7 ~]# mv /tmp/passwd /tmp/shadow
[root@server7 ~]# ls /tmp/
shadow
...
rm 命令,删除文件,常常和选项 -r,-f 连用,-r 删除目录,-f 强制删除,不提醒。
rmdir 命令,删除目录,跟 rm -r 命令效果相同。
[root@server7 ~]# rm -f /tmp/shadow
[root@server7 ~]# ls /tmp/shadow
ls: cannot access /tmp/shadow: No such file or directory