https://www.cnblogs.com/wcwen1990/p/7630545.html
html
/binnode |
存放二进制可执行文件(ls,cat,mkdir等),经常使用命令通常都在这里。linux |
/etcnginx |
存放系统管理和配置文件正则表达式 |
/homeshell |
存放全部用户文件的根目录,是用户主目录的基点,好比用户user的主目录就是/home/user,能够用~user表示数据库 |
/usr编程 |
用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。vim /usr/x11r6 存放x window的目录windows /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所须要的头文件 /usr/lib 经常使用的动态连接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增长的命令 /usr/local/lib 本地增长的库 |
/opt |
额外安装的可选应用程序包所放置的位置。通常状况下,咱们能够把tomcat等都安装到这里。 |
/proc |
虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 |
/root |
超级用户(系统管理员)的主目录(特权阶级^o^) |
/sbin |
存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等。 |
/dev |
用于存放设备文件。 |
/mnt |
系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其余的文件系统。 |
/boot |
存放用于系统引导时使用的各类文件 |
/lib |
存放跟文件系统中的程序运行所须要的共享库及内核模块。共享库又叫动态连接共享库,做用相似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。 |
/tmp |
用于存放各类临时文件,是公用的临时文件存储点。 |
/var |
用于存放运行时须要改变数据的文件,也是某些大文件的溢出区,比方说各类服务的日志文件(系统启动日志等。)等。 |
/lost+found |
这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 |
[root@xiaoming ~]#
复制代码
-a
与 --all
等效显示详细信息
drwxr-xr-x . 1 root root 800 Sep 16 00:19 logs
复制代码
drwxr-xr-x | . | 1 | root | root | 800 | Sep 16 00:19 | logs |
---|---|---|---|---|---|---|---|
文件类型和权限 | ACL权限 | 硬连接引用计数 | 全部者 | 所属组 | 文件大小 | 最后修改时间 | 文件名 |
-rw-r--r--
复制代码
link
/var/lib/mlocate
后台数据库,天天更新一次updatedb
命令马上更新数据库/etc/updatedb.conf
创建索引的配置文件
whereis ls
which ls
which cd
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
find / -name aaa.log
复制代码
*
匹配任意内容?
匹配任意一个字符[]
匹配任意一个中括号内的字符find . -name "ab[cdef]"
复制代码
不区分大小写
find / -iname A.log
复制代码
按全部者进行搜索
find /root -user root
find /root -nouser
复制代码
find /nginx/access.log -mtime +5
复制代码
参数 | 含义 |
---|---|
atime | 文件访问时间 |
ctime | 改变文件属性 |
mtime | 修改文件内容 |
参数 | 含义 |
---|---|
-5 | 5天内修改的文件 |
5 | 5天前当前修改的文件 |
+5 | 5天前修改的文件 |
find . -size 100k
复制代码
参数 | 含义 |
---|---|
-8k | 小于8K |
8k | 等于8K |
+8k | 大于8K |
+8M | 小于8M |
find . -inum 123456
复制代码
find /tmp -size +10k -a -size -20k
复制代码
find /tmp -size +10k -a -size -20k -exec ls -lh {} \;
复制代码
-i
忽略大小写-v
排除指定字符串man ls
查看ls的帮助man -f ls
whatis ls
man 1 ls
man 1p ls
复制代码
- man -k passwd
复制代码
whereis
找到就是外部,找不到就是内部help cd
复制代码
.zip
.gz
.bz2
.tar.gz
.tar.bz2
mkdir book
touch book/1.txt
touch book/2.txt
zip -r book.zip book
unzip book.zip
复制代码
命令 | 示例 | 含义 |
---|---|---|
gzip 源文件 | gzip a.txt | 压缩为.gz格式的压缩文件,源文件会消失 |
gzip -c 源文件 > 压缩文件 | gzip -c yum.txt > yum.txt.gz | 压缩为.gz格式的压缩文件,源文件不会消失 |
gzip -r 目录 | gzip -r xx | 压缩目录下的全部子文件,可是不压缩目录 |
gzip -d 压缩文件名 | gzip -d yum.txt.gz | 解压缩文件,不保留压缩包 |
gunzip 压缩文件 | gunzip yum.txt.gz | 解压缩文件,不保留压缩包 |
命令 | 示例 | 含义 |
---|---|---|
bzip2 源文件 | bzip2 1.txt | 压缩为.bz2格式的文件,不保留源文件 |
bzip2 -k 源文件 | zip2 -k 1.txt | 压缩为.bz2格式的文件,保留源文件 |
bzip2 -d 压缩文件名 | bzip2 -d 1.txt.bz2 | 解压压缩包 |
bunzip2 压缩文件名 | bunzip2 1.txt.bz2 | 解压压缩包 |
tar -cvf book.tar book
gzip book.tar
bzip2 book.tar
复制代码
tar -xvf book.tar
复制代码
压缩
tar –cvf jpg.tar *.jpg //将目录里全部jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,须要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,须要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
shutdown 关机命令
shutdown -r 06:00
shutdown -c
复制代码
关机
init 0
复制代码
重启
init 6
复制代码
系统的运行级别
退出登陆
logout复制代码
查看登陆用户信息
查看登陆用户信息
查看当前登陆和过去登陆的用户信息 默认读取 /var/log/wtmp
文件
查看全部用户的最后一次登陆时间
控制字符 | 做用 |
---|---|
\a | 输出警告音 |
\b | 退格键,也就是向左删除键 |
\n | 换行符 |
\r | 回车键 |
\t | 制表符,也就是Tab键 |
\v | 垂直制表符 |
\onnn | 按照八进制ASCII码表输出字符,其中0为数字零,nnn是三位八进制数 |
\xhh | 按照十六进制ASCII码表输出字符,其中hh是两位十六进制数 |
#!/bin/bash
echo -e "\e[1;34m hello world \e[0m"
复制代码
赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
复制代码
经过Bash调用执行脚本
bash hello.sh
复制代码
命令 | 含义 |
---|---|
ctrl+c | 强制终止当前命令 |
ctrl+l | 清屏 |
ctrl+a | 光标移动到命令行首 |
ctrl+e | 光标移动到命令行尾 |
ctrl+u | 从光标所在的位置删除到行首 |
ctrl+z | 把命令放入后台 |
ctrl+r | 在历史命令中搜索 |
(1) ; 分号,没有任何逻辑关系的链接符。当多个命令用分号链接时,各命令之间的执行成功与否彼此没有任何影响,都会一条一条执行下去。
(2) || 逻辑或,当用此链接符链接多个命令时,前面的命令执行成功,则后面的命令不会执行。前面的命令执行失败,后面的命令才会执行。
(3) && 逻辑与,当用此链接符链接多个命令时,前面的命令执行成功,才会执行后面的命令,前面的命令执行失败,后面的命令不会执行,与 || 正好相反。
(4) | 管道符,当用此链接符链接多个命令时,前面命令执行的正确输出,会交给后面的命令继续处理。若前面的命令执行失败,则会报错,若后面的命令没法处理前面命令的输出,也会报错。
- date;ls;date;ls
- ls && echo yes || echo no
复制代码
ls /etc/ | more
netstat -an | grep ESTABLISHED | wc -l
复制代码
匹配文件名和目录名 |通配符|做用| |:----|:----| |?|匹配一个任意字符| |*|匹配0个或任意字符,也就是能够匹配任意内容| |[]|匹配中括号中任意一个字符| |[-]|匹配中括号中任意一个字符,-表明范围| |[^]|匹配不是中括号中的一个字符|
符号 | 做用 |
---|---|
'' | 单引号。在单引号中全部的特殊符号,如$和`都没有特殊含义 |
"" | 双引号,在双引号里特殊符号都没有特殊含义,可是 $ ` \ 例外,拥有调用变量值,引用命令和转义的含义 |
|
反引号,扩起来的是系统命令 |
$() | 和反引号同样 |
# | 在shell脚本中,#开头的行表明注释 |
$ | 用于调用变量的值 |
\ | 转义符号 |
- a=`ls`
- b=$(ls)
复制代码
添加组
groupadd student
复制代码
修改组名称
groupmod -n stu student
复制代码
修改组编号
groupmod -g 111 stu
复制代码
添加分组并指定编号
groupadd -g 222 teacher
复制代码
删除分组
groupdel 222
复制代码
添加分组
groupadd teacher
复制代码
为用户指定所属组
useradd -g teacher zhangsan
复制代码
为用户指定所属组
useradd -g teacher lisi
复制代码
为用户指定工做目录
useradd -d /home/zhangsan zhangsan
复制代码
指定注释
usermod -c iamateacher zhangsan
复制代码
修改用户名
usermod -l zhangsan zhangsan2
复制代码
指定文件夹
usermod -d /home/zhangsan2 zhangsan2
复制代码
修改用户所属组
usermod -g stu zhangsan2
复制代码
删除用户
userdel zhangsan2
复制代码
删除所属文件夹
userdel -r lisi
复制代码
显示登陆的用户名
whoami
复制代码
显示指定用户信息,包括用户编号,用户名 主要组的编号及名称,附属组列表
id zhangsan
复制代码
显示zhangsan用户所在的全部组
groups zhangsan
复制代码
显示用户详细资料
finger zhangsan
复制代码
/boot
目录下面的kernel
。内核加载成功后,第一个运行的程序是/sbin/init
。它根据配置文件(Debian系统是/etc/initab)产生init进程。这是Linux启动后的第一个进程,pid进程编号为1,其余进程都是它的后代init
线程加载系统的各个模块,好比窗口程序和网络程序,直至执行/bin/login
程序,跳出登陆界面,等待用户输入用户名和密码。