Linux基础命令
1,Linux的目录结构
1,Linux操作系统的目录结构
-
Linux只有一个顶级目录:/ 根目录
-
Windows有多个顶级目录:C盘,D盘。
2,Linux文件路径表示
/usr/local/hello.txt #第一个/表示:根目录,后面的/表示:层次关系
D:\桌面\linux-study-note #表示D盘下的,后面的\表示:层次关系
2,Linux命令入门
1,Linux命令基础格式
命令就是一个功能函数。
命令 [命令参数] [命令对象]
ls -l /usr/local/*
2,ls命令的语法和作用
[root@localhost ~]# ls #查看当前工作目录下的内容,平铺展示
anaconda-ks.cfg get-repo.sh
[root@localhost ~]# ls -a #-all,查看当前工作目录下的所有内容,包括隐藏文件
. anaconda-ks.cfg .bash_logout .bashrc get-repo.sh .pki
.. .bash_history .bash_profile .cshrc .mysql_history .tcshrc
[root@localhost ~]# ls -l #-list,列表化展示内容
total 8
-rw-------. 1 root root 1203 Apr 10 20:04 anaconda-ks.cfg
-rw-r--r--. 1 root root 2008 Apr 11 17:06 get-repo.sh
[root@localhost ~]# ls -lh #-human,人性化展示内容
total 8.0K
-rw-------. 1 root root 1.2K Apr 10 20:04 anaconda-ks.cfg
-rw-r--r--. 1 root root 2.0K Apr 11 17:06 get-repo.sh
[root@localhost ~]# ls -la #列表化展示所有内容
total 36
dr-xr-x---. 3 root root 188 Apr 12 11:12 .
dr-xr-xr-x. 17 root root 224 Apr 10 20:03 ..
-rw-------. 1 root root 1203 Apr 10 20:04 anaconda-ks.cfg
-rw-------. 1 root root 638 Apr 12 16:21 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r--. 1 root root 2008 Apr 11 17:06 get-repo.sh
-rw-------. 1 root root 13 Apr 12 11:12 .mysql_history
drwxr-----. 3 root root 19 Apr 11 17:06 .pki
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
[root@localhost ~]# ls -a / #指定文件目录
. .. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost ~]#
3,当前工作目录和HOME目录
(1)当前工作目录
(2)HOME目录:用户在系统内的专属工作目录,用户自己的房子。/home/
4,隐藏文件\文件夹 在Linux系统中,以”.”开头的文件\文件夹会自动隐藏, 只有通过-a选项才可以展示出来。
3,目录切换相关命令:cd,pwd命令
-
cd:切换工作目录。 #Change Directory
-
pwd:查看当前工作目录。 #Print Work Directory
[root@localhost ~]# cd / #切换到根目录下
[root@localhost /]# pwd #查看当前工作目录
/
[root@localhost /]# cd #直接退回用户家目录
[root@localhost ~]#
4,相对路径,绝对路径
-
绝对路径:以根目录为起点,描述路径
-
相对路径:以当前目录为起点,描述路径
[root@localhost ~]# cd /usr/local/bin/ #绝对路径
[root@localhost bin]# cd /usr/local/
[root@localhost local]# ls
bin etc games include lib lib64 libexec sbin share src
[root@localhost local]# cd bin #相对路径
[root@localhost bin]# pwd
/usr/local/bin
[root@localhost bin]# cd .. #..表示上级目录
[root@localhost local]# cd . #.表示当前目录
[root@localhost local]# cd ~ #~表示用户家目录
[root@localhost ~]# pwd
/root
[root@localhost ~]#
5,创建目录命令:mkdir
(1)mkdir:创建文件夹的命令。目录==文件夹。
(2)-p:适用于创建连续多级目录。
[xiaoming@localhost ~]$ mkdir aa #创建文件夹aa
[xiaoming@localhost ~]$ ls
aa
[xiaoming@localhost ~]$ mkdir /home/xiaoming/bb/cc #创建多级连续目录时,中间有的目录不存在时,加-p
mkdir: cannot create directory ‘/home/xiaoming/bb/cc’: No such file or directory
[xiaoming@localhost ~]$ mkdir -p /home/xiaoming/bb/cc #自动创建多级连续目录,中间不存在的也创建
[xiaoming@localhost ~]$ ls
aa bb
[xiaoming@localhost ~]$ cd /
[xiaoming@localhost /]$ mkdir dd #权限不够
mkdir: cannot create directory ‘dd’: Permission denied
[xiaoming@localhost /]$
6,文件操作命令:touch,cat
-
touch命令:用于创建一个新的文件。
-
cat命令:用于查看文件内容。
[xiaoming@localhost ~]$ touch a.txt #创建文件,a.txt .txt--文件后缀
[xiaoming@localhost ~]$ mkdir aa #创建目录aa
[xiaoming@localhost ~]$ ls -l
total 0
drwxrwxr-x. 2 xiaoming xiaoming 6 Apr 13 09:45 aa #d表示目录
-rw-rw-r--. 1 xiaoming xiaoming 0 Apr 13 09:45 a.txt #-表示文件
[xiaoming@localhost ~]$ cat a.txt #查看文件内容
你好,xiaoming
[xiaoming@localhost ~]$
7,文件操作命令:cp,mv,rm
-
cp命令:用于copy文件或文件夹,-r递归拷贝文件夹。
-
mv命令:用于移动文件或文件夹。如果目标路径不存在,表示改名。
-
rm:删除文件或文件夹。
[xiaoming@localhost ~]$ ls
aa a.txt
[xiaoming@localhost ~]$ cp a.txt b.txt #拷贝文件
[xiaoming@localhost ~]$ cp aa bb #拷贝文件夹要加-r
cp: omitting directory ‘aa’
[xiaoming@localhost ~]$ cp -r aa bb #拷贝文件夹
[xiaoming@localhost ~]$ ls
aa a.txt bb b.txt
[xiaoming@localhost ~]$ mv a.txt aa #移动文件
[xiaoming@localhost ~]$ ls
aa bb b.txt
[xiaoming@localhost ~]$ cd aa
[xiaoming@localhost aa]$ ls
a.txt
[xiaoming@localhost aa]$ cat a.txt
你好,xiaoming
[xiaoming@localhost aa]$ cd ..
[xiaoming@localhost ~]$ ls
aa bb b.txt
[xiaoming@localhost ~]$ mv b.txt c.txt #如果目标路径不存在,就是给文件或文件夹改名
[xiaoming@localhost ~]$ ls
aa bb c.txt
[xiaoming@localhost ~]$ cat c.txt
你好,xiaoming
[xiaoming@localhost ~]$ rm -rf bb #删除文件夹,-r递归,-f表示强制
[xiaoming@localhost ~]$ ls
aa c.txt
[xiaoming@localhost ~]$ rm -rf a* #*通配符:表示所有
[xiaoming@localhost ~]$ ls
c.txt
[xiaoming@localhost ~]$
8,查找命令:which,find
1,which命令:查找命令的程序位置。which 要查找的命令
2,find命令:查找文件的位置。
-
按文件名查找:
find 起始路径 -name "查找的文件名"
-
按文件大小查找:
find 起始路径 -size +10M
#+:表示大于,-:表示小于
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@localhost ~]# which pwd
/usr/bin/pwd
[root@localhost ~]# which cd
/usr/bin/cd
[root@localhost ~]# which ss
/usr/sbin/ss
[root@localhost ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@localhost ~]# find / -name "*test"
/sys/power/pm_test
/sys/module/8250/parameters/skip_txen_test
/sys/module/sr_mod/parameters/xa_test
/usr/bin/test
/usr/bin/grub2-fstest
/usr/sbin/eapol_test
/usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/ntb/test
/usr/lib64/nss/unsupported-tools/bltest
/usr/lib64/nss/unsupported-tools/fipstest
/usr/lib64/python2.7/test
/usr/lib64/python2.7/unittest
/usr/lib64/python2.7/unittest/test
/usr/libexec/openssh/ctr-cavstest
[root@localhost ~]# find / -size +1G #找根下大于1G的文件
/proc/kcore
[root@localhost ~]# ls -lh /proc/kcore
-r--------. 1 root root 128T Apr 13 14:10 /proc/kcore
[root@localhost ~]#
9,grep,wc和管道符
1,grep命令:从文件中过滤有关键字的内容的一行,grep "关键字" 文件
2,wc命令:查看文件有多少行,wc -l 文件
3,管道符| :将左边的命令结果,作为右边命令的输入。
[xiaoming@localhost ~]$ grep "你好" a.txt #过滤包含关键字内容的 行内容
你好,xiaoming
你好,xiaolan
你好,xiaohuang
你好,xiaolu
[xiaoming@localhost ~]$ grep -n "你好" a.txt #-n:显示行号
1:你好,xiaoming
2:你好,xiaolan
3:你好,xiaohuang
4:你好,xiaolu
[xiaoming@localhost ~]$ wc -l a.txt #查看文件内容一共有多少行
4 a.txt
[xiaoming@localhost ~]$ cat a.txt | grep "xiaoming" #管道:将左边的命令结果,作为右边命令的输入
你好,xiaoming
[xiaoming@localhost ~]$
10,echo,tail,重定向符
1,echo命令:echo "内容"
,打印内容。
2,命令
反引号,将命令的结果拿出来用。
3,重定向符:>:表示覆盖,>>:表示追加。
4,tail命令:查看文件尾部内容。-f:动态查看文件尾部内容,-n:看几行
[xiaoming@localhost ~]$ echo "haha" #打印内容
haha
[xiaoming@localhost ~]$ echo "pwd" #命令结果要加反引号``
pwd
[xiaoming@localhost ~]$ echo `pwd`
/home/xiaoming
[xiaoming@localhost ~]$ echo "nihao" > a.txt #覆盖
[xiaoming@localhost ~]$ cat a.txt
nihao
[xiaoming@localhost ~]$ echo "xiaoming" >> a.txt #追加
[xiaoming@localhost ~]$ cat a.txt
nihao
xiaoming
[xiaoming@localhost ~]$ vi a.txt
[xiaoming@localhost ~]$ tail a.txt #查看尾部信息,默认看10行
6
7
8
9
10
11
12
13
14
15
[xiaoming@localhost ~]$ tail -f a.txt #动态查看尾部内容
6
7
8
9
10
11
12
13
14
15
haha
haha1
^C #ctrl + c :表示中断运行
[xiaoming@localhost ~]$
11,vim编辑器
1,vim编辑器 == 记事本编辑
2,基础命令:vi 文件路径
vim 文件路径
3,运行模式:
-
vim 文件路径
,进入命令模式。如果没有文件,会创建一个新的文件。(1)命令模式快捷键:
-
a:在光标后编写内容,进入编辑模式。
-
o:在下一行编写内容,进入编辑模式。
-
dd:删除光标所在行。
-
u:撤销动作。
-
yy:复制光标所在行内容。
-
p:粘贴内容。
-
dG:从当前行开始,向下全部删除。
-
d$:从当前光标开始,删除到本行结尾。
-
-
编辑模式。
(1)编写内容就好,返回命令模式为
ESC
-
命令模式返回。
(1)底线命令返回:
-
:wq 保存退出
-
:set nu 显示行号
-
:q 只退出
-
12,拓展
命令 --help
#查看命令帮助手册