https://www.cnblogs.com/yjd_hycf_space/p/7730690.html
目录回退
回到根目录
cd /
cd .. 上一级目录
cd - 上次目录
在任意目录下进入某一目录可以用绝对路径
如:cd /home/etc 在/home/var/test 到 /home/etc
查看当前的目录路径
pwd
创建目录
mkdir -p a/b/c 使用 -p 参数来创建多级文件夹
mkdir newlog 则在该路径下创建新的目录
在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”。假设要创建的目录名是“task”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令:
mkdir -m 777 task
mv a.log /newlog 移动文件到该目录下
将文件cjh.txt重命名为wjz.txt:
$ mv cjh.txt wjz.txt
如何产看文件和目录:ll
-rw-r--r-- 1 cheyenne class 37 Jan 12 11:00 fichier
看上面的系统显示,第一个区域(-rw-r--r--)代表的是文件的属性,第一个字符(这里是 -)代表的是文件的类型。- 代表普通文件,d 代表目录,l 是符号链接文件(和 Windows 下的快捷方式差不多),n 代表网络特殊文件,c 代表字符设备文件,b 代表块设备文件,p 代表命名管道。
ll是ls -l 简写 ll -t 以时间排序列出
ls - alt 以后用这个命令
vi查看命令 ,vi 文件名打开之后
打开文件:vi 文件名
查找内容: /关键字
插入字符:i
退出:esc
保存退出::wq
保存强制退出::wq!
不保存退出::q!
从上往下查找:/关键字
搜索关键字出现的下一个位置:n
find 目录 -name "文件名"
find查找命令指定目录查找
find /etc/ name “net*”
复制文件
cp a.log /newlog 复制文件到目录下
cp a.log c.log 复制a.log命名为c.log
cp -r asde/ /root/test 将目录asde复制到目录test下
命令 --h 查看帮助
du命令 :查看目录或文件大小
例:du -sh *
touch命令用于创建文件或修改文件/目录的时间戳
touch a.log 创建文件
grep过滤,查找文件内容
grep ps -ef | grep dr
查找当前目录下含有 'come'的文件
grep -lr 'come' *
将/etc/passwd下有出现 root 的行取出来
cat /etc/passwd | grep root
查看文件内容的命令:
cat 由第一行开始显示内容,并将所有内容输出
cat a.log
more 根据窗口大小,回车一页一页的现实文件内容
more a.log 退出:q
显示结果定向至文件
echo "It is a test" > myfile 覆盖,文件中只有这内容
往文件最后插入 xxxxxxxxx 到文件a.log最后
echo "xxxxxxxxx" >> /home/besread/a.log 追加,在源文件最后加入
echo 'ddddddd' >> a.log 写'ddddddd' 到a.log
清空某文件可以这样
echo "">alog.log
显示文件尾部
tail –f 文件名
tail -f a.log
tail -f /var/paas/deploy.log
删除文件、文件夹
rm -rf 文件夹
rm -rf /var/paas/bootstrap 删除bootstrap目录
rm -rf /temp/mp/a.log
ps 进程查看命令
用法:ps -ef |grep 进程关键字
例:ps -ef | grep java 检查java 进程是否存在
|是管道命令 是指ps命令与grep同时执行
结果简介:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令
kill进程
用法:kill -9 进程ID
-9表示强制执行
查看文件属性
stat a.log
修改属主
用法:chown 属主:属组file
chown -R root:root /tmp/test/ -R遍历添加目录下所有
修改权限
用法:chmod 755 file
chmod -R 777 *
再如:创建目录 mkdir /data/nfs
设定权限 chmod 777 /data/nfs
当前目录下所有文件都给予777权限(777就是高权限(读、写、执行))
添加可执行权限:chmod +x xxx.log 添加之后变蓝色
chmod修改文件的权限:https://www.cnblogs.com/lixiaolun/p/5391803.html
压缩:tar cvf file.tar file
解压:tar xvf file.tar
磁盘占用情况:df
用法:空间占用率:
df -h
Inode占用率:df -i (目录)
内存检测:free -m
释放内存::/proc/sys/vm/drop_caches
压缩服务器上当前目录的内容为xxx.zip文件
例:zip -r xxx.zip ./*
解压zip文件到当前目录
例:unzip filename.zip
压缩命令:
tar -zcvf finename.tar.gz filename
解压命令:
tar -zxvf finename.tar.gz filename
sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
例:sudo su – root 切到root用户
例:su - business 切换用户到business
例:su - root 切换用户到root
exit 离开某个身份
增加sudo权限
在cd /etc 在sudoers文件最后添加
echo "paas ALL=(ALL) ALL" >>sudoers
cat /etc/sudoers
sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。
https://www.cnblogs.com/sparkdev/p/6189196.html
linux给用户添加sudo权限
linux下直接运行sudo命令,会提示类似:
xxxis not in the sudoers file. This incident will be reported.
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决:
进入超级用户。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
编辑/etc/sudoers文件。找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。然后就行了。
拥有sudo权限的用户 直接su - root 可以直接切换到root用户
echo “testuser ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers
先建立用户testuser ,再添加权限,然后在用户testuser 下sudo su - 就可以直接到root用户下就表示sudo权限生效。
ssh命令用于远程登录上Linux主机。当前登陆的是a主机,通过以下命令可以登陆该主机192.168.0.11。
例:ssh root@192.168.0.11 ssh business@192.168.0.11
查看网络是否通, 登陆linux的任意目录下执行该命令即可,通过返回信息可以判断
ping ip
查看ip地址命令
ifconfig用法:
查看IP配置:ifconfig
绑定ip:
ifconfig 网口 ip netmask 掩码
例:ifconfig eth0 192.168.1.1 netmask 255.255.0.0
网口up/dowm:
ifconfig 网口 up/down
例:ifconfig eth0 up 开启eth0网卡
ifconfig eth0 down 关闭eth0网卡
linux ip命令和ifconfig命令:https://blog.csdn.net/freeking101/article/details/68939059
https://www.cnblogs.com/baichuanhuihai/p/8127329.html
网卡启动:
添加文件
cd /etc/sysconfig/network/ ifcfg-eth0
ifup eth0
显示eth0 up即可
重启网络: service network restart
磁盘挂载:
格式:mount [-参数] [设备名称] [挂载点]
如:mount 10.10.10.10:/tmp/tests/ /tmp/test 当前节点的/tmp/test 和10.10.10.10:/tmp/tests/目录映射,即挂载上
mount unmount
mount 查看所有挂载信息
mount -l (也可以)
好的博文:
什么是挂载https://blog.csdn.net/qq_39521554/article/details/79501714
挂在选项含义:https://blog.csdn.net/daydayup654/article/details/78788310
如:no exec option in /var 挂载时失败,/var目录没有exec权限
mount 查看挂载信息
/var在 /dev/vda7 (noexec)
mount –o rw, suid, dev, exec, auto, nouser /var
再次查看:mount
在某个目录下快速测试脚本:
cd /var/tmpt/
vi a.sh
编辑脚本保存
加权限chmod +x a.sh
执行:./a.sh
修改服务器密码:
通过Xshell客户端输入账号root,输入密码,登陆到linux。
输入修改密码的命令 passwd
根据提示输入新密码,输入新密码的时候,软件不会显示*号,输入后回车就行了。
例:passwd 然后提示输入老密码和新密码
获取和上传文件
ftp 命令行中put和get
从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo。以下为使用该连接做的实验。
get 远程ftp服务器上当前目录下要下载的文件名 [下载到本地机器上当前目录时的文件名],如:
get nmap_file [nmap]
意思是把远程ftp服务器下的文件nmap_file下载到本地机器的当前目录下,名称更改为nmap。
scp命令,scp实现文件的上传和下载貌似只能在Linux和Linux之间实现.
linux的scp命令可以在linux服务器之间复制文件和目录。
scp [参数] [原路径] [目标路径]
scp -r opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/
windows本地和linux服务器上传下载文件
sftp协议登陆
sftp username@hostname
如:sftp root@10.123.12.1
sftp>
pwd 当前目录
lpwd 本地目录
cd 切换目录
lcd 切换本地目录
如:lcd d:\user\documents 到d盘下目录
ls 展示linux本目录文件
lls 展示本地本目录下文件
get命令用来从远程主机获取文件
get file.txt
put命令用来将本地的文件放到远程主机的本目录
put file.txt
上传完成之后切换回到ssh可以到对应目录下找到上传的文件
帮助可以展示命令
help
重启容器
关闭:./shutdown.sh
重启:./startup.sh
或者直接重启:sh restart_bes.sh 或 ./ restart_bes.sh
属组、用户、sudo权限等
组的添加
groupadd testgroup
组的删除
groupdel testgroup
要查看当前登录用户的用户名:whoami
创建用户:adduser newname // 新建用户newname
useradd testuser 创建用户testuser
passwd testuser 给已创建的用户testuser设置密码
Linux 服务器上建立用户并分配权限:
https://blog.csdn.net/jiandanjinxin/article/details/51920812
以下只有root账号才可以使用
创建用户testuser
useradd testuser
给已创建的用户testuser设置密码
passwd testuser
删除用户testuser
userdel testuser
删除用户testuser所在目录
rm -rf testuser
https://blog.csdn.net/windle89/article/details/70788519/
如:groupadd –g 1000 testgroup
参考:https://www.cnblogs.com/legend-song/p/4700510.html
adduser testuser –g testgroup –u 1000 –d /home/test -m
先建立组,然后建立用户并建立家目录/home/test 添加到组内,-m创建目录。
修改文件ssp属主属组为newuser
chown newuser:newuser ssp
useradd
1.作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
2.格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
3.主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
4.说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
5.应用实例
建立一个新用户账户,并设置ID:
#useradd testst -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。
groupadd
1.作用
groupadd命令用于将新组加入系统。
2.格式
groupadd [-g gid] [-o]] [-r] [-f] groupname
3.主要参数
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
4.应用实例
建立一个新组,并设置组ID加入系统:
#groupadd -g 344 cjh
此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。
cat /etc/group 查看所有组
查看当前用户所属组:groups
查看“xxx”分组下的所有用户:grep 'xxx' /etc/group
usermod 命令把用户添加到一个组中:
$ sudo usermod -a -G sudo jack #root用户下执行
上面的设置中我们把用户 jack 添加到了 sudo 组中,所以当用户 jack 登录后就可以通过 sudo 命令以 root 权限执行命令了!
让原本属于用户1的文件夹让用户2也有读写权限
将用户2归到用户1这个组
//将用户添加到用户组而不脱离该用户原来的组
$ usermod -a -G www hexu # 将hexu添加到www用户组
$ chmod -R ug+w /data/code # 将目录添加用户组可写
https://www.jb51.net/article/97513.htm
查看内核版本:uname –a
查看当前的主机名
hostname
临时更改主机名,重启计算机后会回到旧的主机名
sudo hostname <new-hostname>
https://blog.csdn.net/u013991521/article/details/80522269
linux下查看所有用户及所有用户组,查看是否存在某个用户/组
cat /etc/passwd | grep 用户名
cat /etc/group | grep 组
查看当前ip地址
ip addr
ifconfig –a
ip a 查看网卡
磁盘命令:
fdisk -l
https://blog.csdn.net/liumang_D/article/details/3895780
https://www.linuxidc.com/Linux/2018-06/152958.htm
Linux /var/log下的各种日志文件详解
https://blog.csdn.net/oxford_d/article/details/51820031
端口是否被占用:lsof -i :8090
https://www.cnblogs.com/wangtao1993/p/6144183.html
netstat -anp | grep 端口号
https://blog.csdn.net/yyf960126/article/details/80908823
Linux下查看进程和端口信息:https://www.cnblogs.com/moy25/p/8668432.html
Linux
mkdir [选项] 目录名
-p:如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。
cp命令详解
-f:覆盖已经存在的目标文件而不给出提示.
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
cp -r /var/lib /* /home/test 复制lib目录下所有内容到test目录下
cp -r /var/lib/cptest / /home/test
#复制目录cptest及其内容到/home/test 下,即/home/test/cptest
cp -rf xxxx xxx #拷贝文件夹可以用,复制目录下全部到目标目录,已存在的覆盖掉
sed: https://blog.csdn.net/bbbeoy/article/details/80311558
重要:替换以什么开头或者存在某个字符串的整行
sed -i "/^AAA/c BBBB = 66666" /etc/test.sh #用BBBB = 66666替换以AAA开头的行(可能还有其他字段,主要是以AAA开头)
https://www.cnblogs.com/kingstrong/p/6027086.html
系统信息
1、查看内核/操作系统/CPU信息:uname -a
2、查看操作系统版本:head -n 1 /etc/issue
3、查看CPU信息:cat /proc/cpuinfo
4、查看计算机名:hostname
5、列出加载的内核模块:lsmod
6、查看环境变量:env
查看所有安装的软件包:rpm –qa
>/dev/null 2>&1(>/dev/null)的解释:
> 是重定向
/dev/null 代表空设备文件
1 表示stdout标准输出,系统默认值是1,所以 ">/dev/null" 等同于 "1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
重启网络服务:service network restart
nohup $java -jar test.jar 2>&1 & 后台运行
ifconfig 命令用来查看和配置网络设备
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
https://xp9802.iteye.com/blog/2120351
linux 创建连接命令 ln -s 软链接
具体用法是:ln -s 源文件 目标文件
ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录
删除软链接:rm -rf b 注意不是rm -rf b/
如一个文件的路径是/usr/tota,这个文件属于正常的文件不是连接文件,你可以做一个软连接ln -s /usr/tota /home/tota
这个/home/tota就是/usr/tota 的软连接,相当于windows下的快捷方式
参考:https://www.cnblogs.com/kex1n/p/5193826.html
Suse静态路由文件:/etc/sysconfig/network-scripts/route-ethX
配置静态路由:https://blog.csdn.net/chwzmx123/article/details/79425551
linux驱动——操作/查看命令
lsmod 列出加载的内核模块
modprobe 名称 从内核加载
https://www.cnblogs.com/mahj/p/8426349.html
history:查看历史命令
crontab 定时任务:
https://www.cnblogs.com/tankblog/p/6934987.html
https://www.runoob.com/w3cnote/linux-crontab-tasks.html
Linux od命令:od –c,od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。
重启历史:last reboot