以前总是听别人说Linux难学,所以当我初学Linux的时候就是抱着一个敬畏的态度去学习的。当学了Linux的最基础的各种命令的时候,才发现Linux就是知识点太多,容易混淆,因此将它基本命令及使用方法总结如下,如有错误欢迎不吝赐教。
环境变量:
(1)PATH:指定命令的搜索路径
(2)HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
(3)HISTSIZE:指保存历史命令记录的条数。
(4)LOGNAME:指当前⽤用户的登录名。
(5)HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
(6)SHELL:指当前用户用的是哪种Shell。
(7)LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
(8)MAIL:指当前用户的邮件存放目录。
(9)PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
(10)PS2:附属提示符,默认是“>”。 注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
1、echo命令
功能:显示某个环境变量的值。
2、env命令
功能:显示所有环境变量的值
3、set命令
功能:显示本地定义的所有shell变量
[dan@bogon ~]$ set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='4.1.2(1)-release'
COLORS=/etc/DIR_COLORS
COLORTERM=gnome-terminal
COLUMNS=80
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-DXBfgRETtv,guid=3c8adb7a23761254d140e7a600000056
DESKTOP_SESSION=gnome
DIRSTACK=()
DISPLAY=:0.0
EUID=500
GDMSESSION=gnome
GDM_KEYBOARD_LAYOUT=us
GDM_LANG=en_US.UTF-8
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gnome-terminal.desktop
GIO_LAUNCHED_DESKTOP_FILE_PID=2479
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GNOME_KEYRING_PID=2282
GNOME_KEYRING_SOCKET=/tmp/keyring-juGRDb/socket
GROUPS=()
GTK_RC_FILES=/etc/gtk/gtkrc:/home/dan/.gtkrc-1.2-gnome2
G_BROKEN_FILENAMES=1
HISTCONTROL=ignoredups
HISTFILE=/home/dan/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/home/dan
HOSTNAME=bogon
HOSTTYPE=i386
ID=500
IFS=$' \t\n'
LANG=en_US.UTF-8
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=24
LOGNAME=dan
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'
MACHTYPE=i386-redhat-linux-gnu
MAIL=/var/spool/mail/dan
MAILCHECK=60
OPTERR=1
OPTIND=1
ORBIT_SOCKETDIR=/tmp/orbit-dan
OSTYPE=linux-gnu
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dan/bin
PIPESTATUS=([0]="0")
PPID=2479
PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
PS1='[\u@\h \W]\$ '
PS2='> '
PS4='+ '
PWD=/home/dan
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/2292,unix/unix:/tmp/.ICE-unix/2292
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=2
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SSH_AUTH_SOCK=/tmp/keyring-juGRDb/socket.ssh
TERM=xterm
UID=500
USER=dan
USERNAME=dan
WINDOWID=48234499
WINDOWPATH=1
XAUTHORITY=/var/run/gdm/auth-for-dan-inbNkq/database
XDG_SESSION_COOKIE=086691a11422ff66a8b2761000000047-1467337234.391534-1622338938
_=env
colors=/etc/DIR_COLORS
__udisks ()
{
local IFS='
';
local cur="${COMP_WORDS[COMP_CWORD]}";
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--show-info" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--inhibit-polling" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--mount" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--unmount" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--detach" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-refresh" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-simulate" ]; then
_filedir || return 0;
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--set-spindown" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--poll-for-media" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
COMPREPLY=($(IFS=: compgen -W "--dump:--inhibit-polling:--inhibit-all-polling:--enumerate:--enumerate-device-files:--monitor:--monitor-detail:--show-info:--help:--mount:--mount-fstype:--mount-options:--unmount:--unmount-options:--detach:--detach-options:--ata-smart-refresh:--ata-smart-wakeup:--ata-smart-simulate:--set-spindown:--set-spindown-all:--spindown-timeout:--poll-for-media" -- $cur));
fi;
fi;
fi;
fi;
fi;
fi;
fi;
fi;
fi
}
[dan@bogon ~]$
5、ls命令
功能:列出当前文件
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的i节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-f -U 对输出的文件不排序。
-i 输出文件的 i节点的索引信息。 如 ls –ai 指定文件
-k以k字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。ls –m
-n 用数字的UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表⽰示符号链接;“|”表示 FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
[dan@bogon ~]$ ls
Desktop Documents Makefile Pictures Templates Videos
dir-bak Downloads Music Public test.c
ls-a:列出目录下的所有文件,包含以.开头的隐含文件。
ls-l:列出文件的详细信息
ls-
6、clear命令
功能:清屏命令
7、cd命令
功能:切换当前目录到指定目录
[dan@bogon ~]$ cd Makefile
[dan@bogon Makefile]$
cd ~:进入用户目录
cd -:返回最近访问目录
cd..:返回上一级目录
8、date命令
功能:指定格式显示时间
[root@localhost ~]# date
Thu Jun 16 17:45:35 PDT 2016
[root@localhost ~]# date +%Y_%m_%d
2016_06_16
[root@localhost ~]# date +%Y_%m_%d:%H-%M-%S
2016_06_16:17-49-03
[root@localhost ~]# date +%Y_%m_%d:%H:%M:%S
2016_06_16:17:50:28
9、cal命令
功能:显示日历
cal -1:显示一个月的日历
cal -y:显示当年的日历
[dan@bogon Makefile]$ cd ~
[dan@bogon ~]$ cal
June 2016
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
[dan@bogon ~]$ cal -1
June 2016
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
10、mkdir命令
功能:创建目录
mkdir -m:创建目录并设置目录格式
mkdir -p:创建目录并设置路径
11、rm:删除文件或目录
12、rmdir:删除目录
创建一个文件test1:
[dan@bogon ~]$ touch test1
如下可知文件创建成功:
[dan@bogon ~]$ ls
Desktop Documents Makefile Pictures Templates test.c
dir-bak Downloads Music Public test1 Videos
删除刚才创建的目录test1:
[dan@bogon ~]$ rm test1
根据如下可知文件删除成功:
[dan@bogon ~]$ ls
Desktop Documents Makefile Pictures Templates Videos
dir-bak Downloads Music Public test.c
创建一个目录dir:
[dan@bogon ~]$ mkdir dir
如下可知目录dir创建成功:
[dan@bogon ~]$ ls
Desktop dir-bak Downloads Music Public test.c
dir Documents Makefile Pictures Templates Videos
[dan@bogon ~]$ rmdir dir
删除刚才所创建的目录:
[dan@bogon ~]$ ls
Desktop Documents Makefile Pictures Templates Videos
dir-bak Downloads Music Public test.c
注意:此处创建的这个目录是空目录,因此可以直接删除。
[dan@bogon ~]$ mkdir dir
编辑重新创建的这个目录:
[dan@bogon ~]$ vi dir
通过cd命令进入所创建的这个目录:
[dan@bogon ~]$ cd dir
进入目录后,新建一个文件:
[dan@bogon dir]$ touch dir1
[dan@bogon dir]$ ls
dir1
删除刚才所新建的这个目录,系统会提示所要删除的这个目录不是空目录,因此可知,rmdir只能删除空目录。
[dan@bogon ~]$ rmdir dir
rmdir: failed to remove `dir': Directory not empty
[dan@bogon ~]$ rmdir -f dir
删除不是空目录的目录可以用下面这个命令:
[dan@bogon ~]$ rm -rf dir
[dan@bogon ~]$ ls
Desktop Documents Makefile Pictures Templates Videos
dir-bak Downloads Music Public test.c
13、cp:复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
14、mv:用来移动文件或者将文件名改名
15、more:分屏显示目录(从前向后读取文件,因此在启动时就加载整个文件)
16、less:也是分屏显示命令,但是与more不同的是more只能从前向后翻页,不能从后向前进行翻页。而less命令则可以,不仅这样,它还可以向上向下进行翻页。
17、pwd:显示当前工作路径
18、who命令:显示当前系统的用户登录信息
[dan@bogon ~]$ who
dan tty1 2016-06-30 18:40 (:0)
dan pts/0 2016-06-30 18:40 (:0.0)
[dan@bogon ~]$ whoami
dan
[dan@bogon ~]$ who am i
dan pts/0 2016-06-30 18:40 (:0.0)