本帖最后由 java 于 2019-2-25 10:23 编辑
单独查看内存使用情况的命令:free -m
查看内存及cpu使用情况的命令:top
查看操作系统版本
cat /proc/version cat /etc/redhat-release
重启
shutdown -r now
reboot
//查看监听的端口
ss -tlnp
查看进程信息
cat /proc/$pid/status
///////////////////////////////////////////查看版本///////////////////////////////////////////////////////////
ubuntu:~$ uname -r //查看内核版本
ubuntu:~$ sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename: xenial
1.cat /etc/issue
2.cat /etc/lsb-release
3.uname -a
4.cat /proc/version
5.cat /etc/redhat-release CentOS release 5.5 (Final)
查看系统是64位还是32位: //////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////数据库//////// mysql:3306 用户root 密码ROOT_106 本机访问 mysql: mysql -u root -p 远程访问 mysql: mysql -h192.168.134.106 -P3306 -uroot -pROOT_106 --default-character-set=utf8mb4 -A mysql -h192.168.134.106 -P3306 -uadmin -padmin123 --default-character-set=utf8mb4 -A
////软件安装//////////
apt-get install openssh-server openssh-client
sudo yum -y install httpd
//////////////////远程访问///////////// ssh -i "~/ssh/MyKeyPairAmazon.pem" ec2-user@ec2-xx
//////////////文件移动//////
scp -i "~/.ssh/MyKeyPairAmazon.pem" /home/hechengjin/gitProjects/test_Test/vue2-happyfri/happyfri/index.html ec2-user@ec2-xx:~ scp -i "~/.ssh/MyKeyPairAmazon.pem" -r /home/hechengjin/gitProjects/test_Test/vue2-happyfri/happyfri/static ec2-user@ec2-xx:~
sudo mv static /var/www/html/ sudo mv index.html /var/www/html/ scp 源 目标 文件夹加 -r
////////查找文件内容/////////// 查找目录下的所有文件中是否含有某个字符串
find .|xargs grep -ri "IBM"
查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名
find .|xargs grep -ri "IBM" -l
linux查找目录下的所有文件中是否含有某个字符串
grep -rn "flags" *
说明:
-r 是递归查找
-n 是显示行号
* : 表示当前目录所有文件,也可以是某个文件名
-rwxr--r-- (一共10个参数) 表示文件 档案拥有者、群组、其他的对应权限。
u 表示该档案的拥有者,
g 表示与该档案的拥有者属于同一个群体(group)者,
o 表示其他以外的人,
a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行
r=4,w=2,x=1
如:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
查找含有某关键字内容的文件
由于日志中含有某些关键字,我要查出具体在某个文件中,可以利用如下: find /xxx -name "*" | xargs grep "某内容" /xxx表示路径,"*"表示在含有某关键字名字下的文件中查找,无要求可写为"*“. find ./ -name "*" | xargs grep "Temporary_random" 表示当前目录下搜索含有Temporary_random内容的所有文件
[size=13.3333px]//查看本地已安装的库
[size=13.3333px]locate libGL
[size=13.3333px]//建议符号连接
[size=13.3333px]sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so[size=13.3333px]
查询完整的所有软件安装的文件及路径,可以通过dpkg命令的-L参数查询。
dpkg -L vim
用下面命令来搜索安装包名称
aptitude search multilib
查找到后安装sudo apt-get install gcc-multilib g++-multilib
终端- 补齐[TAB]
- 任务终止[CTRL+C]
向进程发送SIGINT,通知任务终止 - 后台任务[命令 &]
wps &后台运行wps - 输出重定向[命令 > 文件]
ping 192.168.41.1 >/dev/null 把ping命令的输出重定向到/dev/null - 管道[命令1 | 命令2 ]
前一个命令的标准输出作为后边一个命令标准输入
ls -l | wc -l计算当前目录下有多少个文件或目录 - 任务挂起[CTRL+Z]
挂起后的任务停止执行 - 操作挂起的任务或后台执行的任务
- jobs查看挂起的任务或后台运行的任务
- fg命令把它切换为前台任务
- bg命令把它切换为一个后台任务
文件系统操作各个目录的区别- /bin 二进制可执行命令
- /opt 额外安装的可选应用程序包所放置的位置. wps就是装在这里
- /dev 设备特殊文件
- /etc 全局系统管理和配置文件 。每个用户又有自己的配置文件目录,在~/.config目录。
- /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~表示
- /lib 系统库目录
- /boot 内核和引导的目录。
- /sbin 系统管理命令
- /tmp 临时文件目录
- /root root用户的家目录
- /proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
- /var 某些大文件的溢出区,比方说各种服务的日志文件
- /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
- /usr/bin 众多的应用程序
- /usr/sbin 超级用户的一些管理程序
- /usr/include linux下开发和编译应用程序所需要的头文件
- /usr/lib 系统库目录和第三方库目录
- /usr/local/bin 本地增加的命令
- /usr/local/lib 本地增加的库
相对路径与绝对路径绝对路径以/打头, 其他都是相对路径。
.和..是比较特殊的两个相对路径。
软链接ln -sf 源文件路径 目标链接路径
注意:源文件路径如果是相对路径时,它相对的位置是从目标链接所在路径计算。
命令是什么命令也是一个普通的可执行程序或者脚本,但它可以在不输入程序完整路径的情况下就能调用到。
终端可识别的命令除去一小部分shell内置命令(如cd), 其他命令都是根据PATH变量设置的路径搜索的可执行程序。
通过修改PATH可以增加命令搜索的路径。
增加一个新命令有几种方式
- 把可执行程序所在目录加到PATH
- 要么直接把该程序拷贝到已经在PATH中的路径中去.如/bin/,/usr/bin,/usr/local/bin
- 通过别名alias来设置,如常用的ll命令就是ls命令的一个别名。
遇到一个命令,可以通过man command 或者command --help来获取相关帮助。
可以通过which来查找一个命令所在的位置。如which ls可以发现ls命令在/bin/ls
非常常用的命令- ls列出当前目录下的文件,
-l列表形式列出
-r反向排序
ls -al列出所有,包括隐藏文件
ls -alt按时间顺序列出所有文件
ls -alS按大小排序列出所有文件
ll相当于ls -alF - cd
cd -回到上一个目录 - touch创建一个文件。如果文件已经存在,更新文件的修改时间。
- mv移动文件或目录
- cp -av 复制
- rm -rf 删除文件或目录
- pwd 获取当前目录
- mkdir rmdir 删除目录
- cat 读取文件内容
- tail 读取文件尾部内容,tail -f可以动态显示文件变化
- more和less 大文件读取, less可以上下滚动
- file 获取文件类型
- exit 退出
- du -h -d 1 查看当前目录容量
用户和权限管理员和普通用户root 用户在系统内是属于独一无二的超级管理员,拥有至高无上的权限(皇帝)。
普通用户的权限则受到很多限制(平民)。
普通用户只能访问自己的东西,既不能访问其他普通用户的文件,更不能访问root用户的文件。
权限又根据用户分为拥有者 ,组用户,其他用户,所以一个文件或目录的权限最大是777。
相关命令- su root 切换到root用户。
- sudo ls /root 以其他用户身份执行一条命令。默认以root用户执行
- chown user ./wps 修改一个文件的拥有者为user.
- chmod 777 ./wps 修改一个文件的权限为777
u,g,o,a分别代表拥有者,组,其他用户,所有用户
可以只给某个用户增加或削减权限,如
chmod u+x ./wps给wps文件的拥有者增加可执行权限
chmod o-w ./wps去掉wps文件的其他用户的可读权限 - passwd wps 修改wps用户的密码。如果不加参数,就修改当前用户的密码
进程管理进程可以认为是程序执行时的一个实例。可以用pid标识同一个程序的不同实例。每一个进程的pid都不相同.
如何获取一个后台进程的pid- ps -aux获取当前系统所有运行中的进程
- ps -aux | grep wps 输出如下
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDz 6744 0.6 0.6 1021176 67908 ? Sl 16:31 1:11 gedit /home/z/Desktop/无标题文档 2 - pidof wps 根据进程名获取某个程序的pid
如何杀掉一个进程- killall wps 杀掉所有进程名为wps的程序, 程序正常退出, 但有时无法相应。对应信号为TERM
- killall -9 wps 杀掉所有进程名为wps的程序,强杀, 程序100%会退出。对应信号为SIGKILL
- kill 100 杀掉进程id为100的程序
- kill -9 100 强制杀掉进程id为100的程序
一些常用命令行工具获取系统信息- df -h 查看系统硬盘剩余
- top 类似任物管理器,只能看,杀进程得配合kill
- htop 同上,界面更好看一点
- free -h 获取当前内存使用情况
- uname -a 获取当前系统内核,架构等信息
- lsb_release -a 获取操作系统等信息
- lscpu 列出cpu信息
- cat /proc/cpuinfo 获取详细的cpu信息
- nproc 获取当前cpu核心数
- ifconfig 获取ip
- ping 192.168.41.1 ping命令
关机,重启- halt 关机
- reboot 重启
- shutdown 关机
- init 0 关机,init 6重启
压缩解压- tar zcvf office6.tar.gz ./office6压缩./office6目录为tar.gz格式.
-z代表gzip
-j代表bzip
-J代表xz - tar xvf office6.tar.gz 解压一个tar包到当前目录,解压可以不指定压缩格式
增加-C参数解压到指定目录。
远程操作,拷贝,需要安装openssh-server- ssh user@ip命令行连接到远程机器
- scp filename user@ip:path 传输本地文件到远程的path目录,
scp user@ip:path filename 修改参数顺序可以把远程文件传输到本地
scp -r dir user@ip:path -r参数可以传输文件夹
查找文件和内容- find . -name "wps"查找当前目录文件名为filename的文件
- grep "wps" . -rn查找当前目录下内容包含wps的文件
其他- nano filename 命令行文本编辑器,简单容易上手
- xdg-open filename使用系统关联的程序打开一个文件
|