Linux命令汇总

linux 命令总结
ctrl+alt+F1 返回F1终端
ctrl+alt+F2 切换到终端2 类似一直可以切换到F6(共6个终端)
exit 退出当前用户
init 0 关闭系统
su - root 切换当前用户(管理员账号)
pwd 查看当前路径
id 当前用户信息
who 当前登录所有用户
whoami 当前登录用户信息
:0 图形界面
pts 图形界面打开的终端
tty 命令行登录的终端
date -s ‘2018-05-25 11:23’ 修改系统当前时间
date 082611282018 #按照 ‘月日时分年’ 的格式
cal 10 2015 查看日历
man - ls 查看命令使用方法
ls --help 查看命令使用方法
clear
ctrl+L 清除屏幕
useradd tom 添加用户
userdel -r 删除用户
passwd #root可以修改任何用户密码,普通用户只能修改自己的密码
echo '123' | passwd --stdin tom 强制给用户更改密码
cd (change directory) 切换文件目录

  ~ 当前用户家目录
. 当前目录
  .. 代表上一层目录
../.. 上一级目录的上一级目录
  - 代表上一次目录

touch 新建文件
mkdir 新建文件夹/目录
-p 递归建目录(即可以创建系统没有的目录)

rm 删除文件
  -r 删除目录
   –rf 强制删除文件、目录

ctrl+A 定位到命令行开头
ctrl+E 定位点命令行结尾
ls 查看当前目录文件
-l 查看当前目录详细信息
-l -d 查看目录本身的信息,可简写为 ll -d
-a 查看所以文件,包括隐藏文件
-h 显示文件大小

cp 源路径 目标路径 复制文件或目录
cp -r 递归拷贝,用来拷贝目录
cp -a 拷贝文件及文件的详细信息
mv 剪切命令,同时可以用来重命名
alex.txt asb.txt 重命名
cp 使用最原始的cp命令,即强制拷贝
which cp 查看cp命令信息
cat 查看文件内容,读取全部文件内容
head -n 查看文件前n行内容
-n +23 从第23行开始,显示文件n行内容
tail -n 查看文件后n行内容
-f 只读的方式,实时查看文件内容
more /file1 以百分百的方式查看文件内容
less /file1 以上下翻页的方法查看文件内容
> 文件 将左边内容以覆盖的方式添加到右边的文件中
>> 文件 将左边内容以追加的方式添加到右边的文件中
echo 'hedeyong_linux'>> /FtpServe/bin/start.py 往start.py文件追加内容
echo 'hedeyong_linux'> /FtpServe/bin/start.py 以覆盖的方式往start.py文件添加内容

useradd user1
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。/bin/bash 或:sbin/nologin不可登录
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
#创建一个用户时,系统创建的文件
/etc/passwd 存放用户的信息,一行为一个用户信息
/etc/shadow 存放用户的密码文件
/etc/group 存放组信息
/etc/gshadow 存放组密码
/home/user1 用户家目录,需要用mkdir命令创建
/var/spool/mail/user1 用户的邮箱,需要用touch命令创建

root的用户信息:
root:x:0:0:root:/root:/bin/bash
root:用户名
x:密码占位符 密码文件 /etc/shadow
0:userid
0:groupid
root:用户的描述信息,可有可无
/root:用户的家目录
/bin/bash : 标识该用户是否可登录,/bin/bash可登录 /sbin/nologin不可登录

组文件:/etc/group
wheel:x:10:egon,user1
wheel:组名
x:组密码占位符
10:组id
egon,user1:组成员。可通过vim编辑添加组成员

vim 编辑文件
a 进入编辑模式,然后可通过上下键选择
esc 推出编辑
yy 复制文件或目录
p 粘贴
dd 删除文件
G 调到最后一行
shift+: 输入命令
wq 保存退出
wq! 强制保存退出

usermod 修改用户账号的各项设定
-c<备注>  修改用户帐号的备注文字。
-d登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s<shell>  修改用户登入后所使用的shell。
-u<uid>  修改用户ID。
-U  解除密码锁定。
-a 追加,例如:usermod user1 -a -G group2 为用户user1的附加群组追加一个group2的群组
usermod -a -G group2 user1
groupadd 创建一个组
-g: 指定新建工作组的id;
groupmod 功能说明:更改群组识别码或名称。
语  法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
groupmod -n linux linuxso 将linuxso组改名为linux
groupdel 删除组

文件权限信息:
-rw-r--r--. 1 root root 2262 5月 24 19:39 /etc/passwd
第一段内容:代表文件类型
- 普通文件
d 目录文件
b 块文件
l 链接文件
p 管道文件
s socket文件
rw-r--r--表示:
r:read 可读 对应数字 4
w:write 可写 对应数字 2
x:execute 可执行 对应数字 1
-:占位符 对应数字 0
前面三位对应的文件的属主对该文件的权限
中间三位对应的文件的属组对该文件的权限
后面三位对应的文件的其他人对该文件的权限
对文件:
读:可以读文件的内容
写:可以修改文件的内容
执行:可以把文件当做程序去执行 #需要有可读权限
对目录:
读:可以浏览到该目录下的子目录和子文件名
写:可以在该目录下新建文件,删除文件,重命名文件
执行:可以cd进去改目录

chown 修改文件属主和组信息(即组权限)
-R 递归修改目录
chown egon:egon /home/oldboy 更改oldboy用户的属主和组信息

chmod 更改文件权限
-R 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
chmod u=r,g=-,o=r egon.txt #u:属主 g:组 o:其他人 a:表示三者 -表示什么权限都不给
chmod a=rwx file 和 chmod 777 file 效果一样
chmod u+x ex1.py 将 ex1.py 设定为只有该档案拥有者可以执行

sh egon.txt 执行文件的内容
./ echo.txt 验证文件内容

cat.a.txt b.txt > c.txt 将a.txt b.txt 合并成一个文件
touch {a..c}{1..3}.txt 快速创建文件(a1.txt a2.txt a3.txt b1.txt b2.txt b3.txt c1.txt c2.txt c3.txt)
tar 归档命令
c 创建一个新的tar文件
t 列出tar文件中目录的内容。
x 从tar文件中抽取文件。
f 指定归档文件或磁带(也可能是软盘)设备(一般都要选)。
v 显示所打包的文件的详细信息,v是verbose的第1个字母。
z 使用gzip压缩算法来压缩打包后的文件。
j 使用bzip2压缩算法来压缩打包后的文件。
tar -cvf arch.tar arch 将arch目录打包成一个名为arch.tar的归档文件
tar -cvf my.tar /etc /root/an.cfg 将 /etc/ 目录和 /root/an.cfg 文件打包进去为my.tar
tar -cvf /tmp/test test.tar * 将该路径下所有文件打包至/tmp/test
tar -cvf /tmp/etc.tar /etc 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar打包后,以 bzip2 压缩
tar xvf test.tar 解压打包文件
tar xvf /tmp/test.tar –C /test2 将/tmp下test.tar文件解压至/test2目录下
tar xvf /tmp/test.tar.bz2 –C /test2 将/tmp下test.tar.bz2文件解压至/test2目录下

gzip test.tar.gz 用gzip方式压缩
gunzip test.tar.gz 用gzip方式解压缩
bzip2 test.tar.bz2 用bzip2方式压缩
bunzip2 test.tar.bz2 用bzip2方式解压缩

vi 编辑器
vim 文本路径 #只能打开文本文件
进入命令行模式
a/A 进入插入模式并在光标之后进行添加。
i 进入插入模式并在光标之前进行插入。
o 进入插入模式并在当前(光标所在)行之下开启新的一行。
esc 返回命令行模式
命令行模式:
G 转到文件末尾 数字n+G 跳转至第n行
gg 转到文件开头
H 跳到当前屏幕最上方的第一个字符
M 跳到当前屏幕中间一行的第一个字符
L 跳到当前屏幕最下方的第一个字符
$ 转到行尾
0 转到行首
yy 复制 先按数字3,再按yy,复制三行
P(大写) 在下一行粘贴 先按数字n,再按p ,粘贴n行
p 在上一行粘贴 先按数字n,再按p ,粘贴n行
dd 删除 先按数字n,再按dd ,删除n行
u 撤销当前操作
ctrl+r 恢复一步操作
/bash +n 查找含bash文件,按n跳转
扩展模式
shift+: 进入扩展模式,esc 返回命令行模式
w 保存
q 退出(不保存) q!强制退出并保存
wq 保存退出
wq! 强制保存退出
s 修改当前行
%s 表示所有行,即全文
g 一行的所有内容
%s /python/PYTHON/g 将全篇文章的python替换成PYTHON

init 0 关机
init 1 以root用户进入单用户模式
init 2 多用户模式,但没有启用网络功能
init 3 多用户 文本终端
init 4 多用户自定义模式,开发使用
init 5 多用户 图形界面
init 6 重启

关闭系统的命令:
shutdown -h now
halt
poweroff
init 0
重启系统的命令:
shutdown -r now
reboot
init 6
Ctrl+Alt+Delete键

单用户模式修改root用户密码
1)重启按e 进入进入到GRUB启动菜单
2)找到单用户配置文件 (开头:linux16 /Vmlinuz-3.10
3)删除rhgb quiet 设置
4)在UTF-8后面输入:init=/bin/sh
5)ctrl+x 重启
6)输入:monut -o remount,rw /
7)vi/vim 进入/etc /passwd 删除root用户密码占位符
或者echo ‘abc123’ | passwd –stdin root 给root用户重置密码,
8)输入 touch /.autorelabel 更新系统信息
9) 输入 exec /sbin/init 重启系统

系统监控
top 查看CPU和进程状态
free 监控内存 以kb为单位
free –w buffer cache 分开计算
free –m 监控内存 以Mb为单位
buffer 缓解内存和硬盘之间的速度差, 为一些将要写入内存但还没有写入的数据
cache 已经写入内存,为方便再次取用而缓存的一些常用数据
ps 用来显示当前进程的状态。
Ps –aux 显示所有的与用户相关的完整信息
ps aux | head -3 查看前三条
ps aux | grep ‘firefox’ head -3 查找firefox的进程 (grep 过滤)
ps –elf 查看进程,并查看父进程id号

pgrep 通过名称或其他属性查找进程
pgrep firefox 查找名为firefox的进程
kill -9 11727 强制杀死进程号为11727的进程
-9 强制杀死
pkill -9 进程名 按进程名杀
pstree 进程名/进程号 查看进程树


echo $[1+2] 简单计算
uname –r 查看系统内核版本
uname –a 查看系统内核版本
cat /etc/redhat-release 查看系统版本
while :;do free ;slepp 1;clear;done 每秒查看一次内存,并清屏
echo 3 > /proc/sys/vm/drop_caches 清除缓存cache
top & 后台运行

df 显示文件系统中磁盘使用和空闲区的数量
–h 以G为单位查看
-i 以文件数查看
-T 查看文件类型
-a 显示所有磁盘
dd if=/dev/zero of=/a.txt bs=200MB count=1 测试硬盘读写速度
0
fdisk 创建磁盘分区。
-d 删除一个(已经存在的)分区,其中d是delete的第1个字母。
-l 列出(已经存在的)分区的类型,其中l是list的第1个字母。
-m 列出fdisk中使用的所有命令,其中m是menu的第1个字母。
-n 添加一个新的分区,其中n是new的第1个字母。
p 主分区
e 扩展分区
l 逻辑分区
-p 列出分区表的内容,其中p是print的第1个字母。
-q 退出fdisk,但是不存储所做的变化,其中q是quit的第1个字母。
-t 改变分区系统的id,其中t是title的第1个字母。
-w 退出fdisk并存储所做的变化,其中w是write的第1个字母。
fdisk -l /dev/sda 查看第一块硬盘分区信息
mkfs 格式化磁盘
mkfs.ext4 /dev/sdb1 将分区/dev/sdb1格式化为ext4文件系统
mkfs.xfs /dev/sdb1 将分区/dev/sdb1格式化为xfs文件系统

mkswap /dev/sdb2 使用 mkswap 命令将/dev/sdb2设置交换分区
swapon /dev/sdb2 启用交换分区
swapon -s 查看交换分区的状态

挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。
mount 实现文件系统的挂载。
mount /dev/sdb1 /wg 将/dev/sdb1分区挂载到/wg目录上的命令

umount 实现文件系统的卸载。
umount /wg 卸载/wg上的文件系统的命令:
-l 强制卸载

yum install net- tools -y yum下安装net工具包

iptables -F 清空防火墙网络规则
setenforce 0 表示临时关闭selinux防火墙 (执行这两条命令会断网)
ifconfig 临时设置ip地址(重启失效)
ifconfig ens33 101.5.210.1/24 将ens33网卡设置ip地址为101.6.210.1,子网掩码为:255.255.255.0
ifconfig ens33:0 101.5.210.1/24 设置虚拟网卡
ifconfig ens33 down 关闭网卡
ifconfig ens33 up 启动网卡

cd /etc/sysconfig/network-scripts/ 网卡配置文件存放路径,修改配置文件可永久修改ip地址
vim ifcfg-ens33 修改网卡配置文件
HWADDR=
TYPE=
BOOTPROTO=static
IPADDER=
NETMASK=
GATEWAY=
DNS1=
DNS2=
NAME=
UUID=
ONBOOT=YES
systemctl restart network 重启网络状态
systemctl status network 查看网络状态
systemctl stop network 关闭网络
systemctl start network 开启网络

route-n 查看网关
vim /etc/resolv.conf 修改dns配置文件
nameserver 166.111.8.28 #添加dns配置信息
nameserver 166.111.8.29 #添加dns配置信息
vim /etc/hosts 本地解析,指定解析服务器,优先级高于resolv
166.111.8.28 www.baidu.comm 制定166.111.8.28服务器解析www.baidu.com域名
route add default gw 101.5.210.1 dev ens33 #为网卡ens33增加网关101.5.210.1
route del default gw 101.5.210.1 dev ens33 ##删除网卡ens33的网关101.5.210.1

软件包管理
rpm :二进制格式软件包
rpm –ivh 安装rpm包
–i 安装(Install)软件。
–U 升级(Upgrade)旧版本的软件。
–e 移除/删除(Erase)软件。
–v 显示详细的处理信息。
–h 显示安装进度。卸载不能用
-q zsh 查看zsh软件包是否安装成功
-qa 显示目前操作系统上安装的全部软件包
-qa | grep zsh
-ql 查看软件包安装路劲
-qi 查看安装软件包的详细信息
-qf 查看某一个文件是哪个软件包产生的显示这个文件是由哪个软件包安装的
rpm –e zsh 卸载zsh软件包
rpm –e zsh --nodeps 忽略依赖性,强制卸载zsh包
rpm –ivh zsh --force #在已安装软件包的情况下,强制安装,即手动更新。
rpm -ivh http-* #下载以http开头的所有软件包

 

yum:自动解决依赖性安装二进制软件包
mount /dev/sr0 /media #将光盘挂载到/media目录下

yum –y install 软件名 掌握使用yum安装软件
yum –y remove 软件名 掌握使用yum删除软件
yum –y groupinstall 组件名 掌握使用yum安装组件
yum –y groupremove 组件名 掌握使用yum删除组件
yum clean all 掌握清除yum缓存
yum search 使用yum查找软件包
yum - y erase apr 卸载apr软件包
yum - y install http* 下载以http开头的所有软件包


cd /etc/yum.repos.d 查看yum网络源配置文件 (vim Cent_Bas.repos)
cd /media/repodata

自己手动配置yum云:
源目录: /media
cd /etc/yum.repos.d
vim tset.repo
[标题:test]
name=shoudong peizhianzhaung yuan
baseurl=file:///media
enable=1
gpgcheck=0
yum install httpd 配置完成后即可安装

手动关闭yum自动更新
vim /etc/yum/yum-cron-hourly.conf
download_updates = no #参数yes改为no

vim /etc/yum.conf
cachedir=/缓存地址
keepcache=1
手动配置yum缓存
yum makecache -y
mkdir /my_repo #创建自己的配置源
cp /rpms/base/packages/* /my_repo #将软件包拷贝到自己的配置源

手动配置依赖性关系
rpm -ivh createrepo-0.9.9-23.rpm 安装createrepo命令工具
createrepo /my_repo/
vim /etc/yum.repos.d/http.repo
[httpd]
name=httpd
baseurl=file:///my_repo
enable=1
gpgcheck=0

yum grouplist 查看yum软件包组
yum -y groupinstall "systemtools" 安装systemtools软件包组

手动配置python3.6 须先安装开发工具、zlib-*系列包
yum install lrzsz 安装lrzsz软件包,用来向虚拟机传输数据
tar -xvf Python 解包,完成后自动创建一个Pytho的目录
./python/configure --prefix=/usr/local/python3.6 进行安装初始化,并创建安装路径
make 编译命令
make install 编译安装

源码安装
1、命令:yum -y groupinstall "开发工具" #安装开发工具
2、命令yum -y install zlib-* #安装zlib系列包
3、命令:yum –y lrzsz #安装传输工具
4、拷贝文件
5、命令:tar –xvf Python-3.6.1.tgz #解压文件
6、命令:mkdir –p /user/local/pyrhon3 #创建安装目录
7、命令:./python/configure --prefix=/usr/local/python3.6
#进行安装初始化,并指定安装路径
8、命令:make #编译命令
9、命令:make install #编译安装
10、命令:ln -s /usr/local/python3/bin/python3 /usr/bin/python3
#建立python3的软链
11、命令:vim ~/.bash_profile #加入环境变量
12、检验python3是否安装成功 #输出“Hello World”

安装samba服务
1、准备环境
iptables –F 临时清除防火墙
systemctl stop firewalld
systemctl disable firewalld 关闭开机自启
setenforce 0
/etc/sysconfig/selinux
#SELINUX=disabled
====》part2:配置ip arping ip地址 ping通时返回ip地址

2、安装软件包
yum -y install samba
3、修改配置文件
/etc/samba/smb.conbf
[public]
comment = Public Stuff
path = /share
public = yes
writable = yes
printable = no
write list = +staff

4、启动服务
systemctl start smb

5、测试
samba用户必须是系统用户,登录类型为/sbin/nologin不可登录型
[root@www repo_bak]# useradd smb1
[root@www repo_bak]# smbpasswd -a smb1
[root@www repo_bak]# useradd smb2
[root@www repo_bak]# smbpasswd -a smb2
[root@www repo_bak]# useradd smb3
[root@www repo_bak]# smbpasswd -a smb3
[root@www repo_bak]# usermod -s /sbin/nologin smb1
[root@www repo_bak]# usermod -s /sbin/nologin smb2
[root@www repo_bak]# usermod -s /sbin/nologin smb3

安装nginx
1、准备环境
iptables –F 临时清除防火墙
systemctl stop firewalld
systemctl disable firewalld 关闭开机自启
setenforce 0
/etc/sysconfig/selinux
#SELINUX=disabled
====》part2:配置ip arping ip地址 ping通时返回ip地址

2、安装软件包
二进制方式安装
yum install epel-release -y
yum install nginx -y
源码安装
yum –y install gcc-*
yum –y install glibc-*
yum –y install pcre -y
./configure --prefix=/usr/local/nginx --with-pcre=/usr/lib64
./configure --prefix=/usr/local/nginx --with-http_rewrite_module
make
make install
3、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 3;
4、启动服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ps aux | grep nginx
#/usr/local/nginx/sbin/nginx -s stop 关闭
#/usr/local/nginx/sbin/nginx -s reload 重新加载配置文件
5、测试
浏览器打开192.168.205 显示welcome to nginx!即成功

原文地址:https://www.cnblogs.com/bsxq/p/6933304.html