您的位置:首页 > 运维架构 > Linux

1.Linux基础操作:主题4 常用Linux指令(系统登录和环境有关指令)

2014-11-01 22:57 459 查看
学习Shell编程,首先要对Shell命令有足够了解。所以,从本讲开始,分类对常用的Shell命令及其常用参数进行讲解。因为本讲义并不是专门针对Shell编程或Linux系统管理,所以只讲解一些常用的知识。有兴趣的童鞋可以课后进行讨论。

1.uname

之所以将这个命令作为第一个介绍,是因为Linux系统的差异性,有些问题首先要明确操作系统谈论起来才有意义。

如果是简单的uname命令,将显示最基本的信息,只是告诉你“老子是Linux”,加上“-a"参数后,该说的就都说了。这里只需要记住-a 就行了,其他的现用现查就好。

[densintian@rachel ~]$ uname
Linux
[densintian@rachel ~]$ uname -a
Linux rachel 3.16.6-200.fc20.x86_64 #1 SMP Wed Oct 15 13:06:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[densintian@rachel ~]$


2. uptime

系统运行时间

[densintian@rachel ~]$ uptime
23:11:18 up  1:59,  2 users,  load average: 0.06, 0.03, 0.05
[densintian@rachel ~]$


3. su

进入根用户权限(最高权限),在此权限下,一切操作都要谨慎小心。

[densintian@rachel ~]$ uptime
23:11:18 up  1:59,  2 users,  load average: 0.06, 0.03, 0.05
[densintian@rachel ~]$


4. exit

Shell的退出指令。当进入su下,exit将退出根用户模式。如果在一般用户下,将直接退出Shell界面,如果是远程终端访问,将直接关闭Session
[root@rachel ~]# exit
登出
[densintian@rachel ~]$


5. pwd

当前的工作目录。虽然在fedora下,提示符中有当前的目录信息,但是别的Linux可不一定有。而且fedora下,也都是最后一个层级的目录信息。比如在$HOME下有一个文件夹叫bin,而根目录下,也有一个文件夹叫bin,这时候提示符是相同的。所以需要pwd命令来确定当前的工作目录到底是谁。下面就是这种情况的判断,请注意目录的跳转和提示符的变化
[densintian@rachel bin]$ pwd
/bin
[densintian@rachel bin]$ cd ~/bin
[densintian@rachel bin]$ pwd
/home/densintian/bin
[densintian@rachel bin]$

6. man

这个命令的名字就是单词manual的缩写。功能就是打印命令的手册。包括常用参数等信息。因为手册的长度都比较长,在输出的过程中,回车是向下延伸一行,空格是翻页。q是随时退出。
我个人的用法是经常用输出转向把手册弄到文件里面去看。
[densintian@rachel ~]$ man man
[densintian@rachel ~]$ man man > 1.txt
[densintian@rachel ~]$ cat 1.txt


7. date

这就是一个顾名思义的命令。输出现在的系统时间。可以简单的设置一些格式。
[densintian@rachel ~]$ date
2014年 11月 01日 星期六 21:46:47 CST
[densintian@rachel ~]$ date +%Y/%m/%d.%H:%M:%S
2014/11/01.21:46:26
[densintian@rachel ~]$ date +%Y%m%d%H%M%S #这个参数经常用户在Shell程序中拼接日志文件的文件名
20141101214641
[densintian@rachel ~]$


8. ps

查询运行的进程。
主要有三个参数
ps -a 当前终端所有进程
ps -e 除核心进程外的所有进程
ps -f 产生一个完整的列表,作为非系统管理员的话,前两个参数用处不是很大,而-f 是经常被用到的。因为它能够看出进程间的关系。
[densintian@rachel ~]$ ps
PID TTY          TIME CMD
1740 pts/0    00:00:00 bash
2008 pts/0    00:00:00 vim
2009 pts/0    00:00:00 ps
[densintian@rachel ~]$ ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
densint+  1740  1718  0 21:43 pts/0    00:00:00 -bash
densint+  2008  1740  0 22:02 pts/0    00:00:00 vim
densint+  2010  1740  0 22:02 pts/0    00:00:00 ps -f
[densintian@rachel ~]$


可以看到ps 和 ps -f 现实的进程是一样的,但是-f会现实进程的父进程。-bash 是我们登录Shell界面的进程,而其他的进程,都是这个进程的子进程。

9. env

Linux系统有很多环境变量,这些变量可以在Shell中直接调用。当然,不用的用户登录,env变量会不用。这个东西可以在用户的.bashrc文件中设定。
env命令可以查看全部的环境变量

[densintian@rachel ~]$ env
REMOTEHOST=localhost
XDG_SESSION_ID=1
HOSTNAME=rachel
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
QTDIR=/usr/lib64/qt-3.3
TIME_STYLE=+%Y/%m/%d.%H:%M:%S
QTINC=/usr/lib64/qt-3.3/include
QT_GRAPHICSSYSTEM_CHECKED=1
USER=densintian
......# 省略了一些过长的变量
SHLVL=1
HOME=/home/densintian
LOGNAME=densintian
QTLIB=/usr/lib64/qt-3.3/lib
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=192.168.0.105:0.0
_=/bin/env
[densintian@rachel ~]$


10. df

检查磁盘空间的占用情况。简单知道就好,初学的情况下,作为一个超省资源的操作系统,基本不太考虑占用情况。

[densintian@rachel ~]$ df
文件系统                        1K-blocks    已用       可用 已用% 挂载点
/dev/mapper/fedora_rachel-root   51475068 5724844   43112400   12% /
devtmpfs                          4050704       0    4050704    0% /dev
tmpfs                             4061004      80    4060924    1% /dev/shm
tmpfs                             4061004     980    4060024    1% /run
tmpfs                             4061004       0    4061004    0% /sys/fs/cgroup
tmpfs                             4061004      20    4060984    1% /tmp
/dev/sda2                          487652  132696     325260   29% /boot
/dev/sda1                          204580    9748     194832    5% /boot/efi
/dev/mapper/fedora_rachel-home 1141335660 2603556 1080732540    1% /home
[densintian@rachel ~]$


11. init 0/6 & reboot

init 是Linux必不可少的一个引导进程。进程号永远为1。这里我们只讲解他的两个参数,0 和 6
0 -- 操作系统停机
1 -- 操作系统重启

Linux还有一个重启命令reboot
那么reboot和init 6 有什么区别呢?

'init 6' 调用一系列shutdown脚本(/etc/rc0.d/K*)来使系统优雅关机;

'reboot'并不执行这些过程,reboot更是一个 kernel级别的命令,不对应用使用shutdown脚本。 .

我们应该在通常情况下使用 init 6.

在出问题的状况下或强制重启 时使用reboot.

12. which

which可以输出命令所在的位置
[densintian@rachel ~]$ which cd
/bin/cd
[densintian@rachel ~]$ which ls
alias ls='ls --color=auto'  #这一行表示的是,这个命令会自动应用“--color=auto”这个参数。
/bin/ls             #这是命令的实际位置
[densintian@rachel ~]$


[densintian@rachel ~]$ which ls
alias ls='ls --color=auto'
/bin/ls
[densintian@rachel ~]$ which ll
alias ll='ls -l --color=auto'  # 通过which 命令,使用者能够发现,一些命令实际上是由另外的命令添加特别的参数实现的。
/bin/ls
[densintian@rachel ~]$


13. who

who 是查看谁正在登录这台电脑。管理登录对于服务器或者在公网上的服务器来说尤其重要。

[densintian@rachel ~]$ who
densintian :0           2014-11-01 22:47 (:0)         #这表示的是直接在服务器上登录
densintian pts/0        2014-11-01 21:43 (localhost)  #pts表示通过终端登录
[densintian@rachel ~]$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: