Linux系统中获取路径的文件名的方法(共8篇)由网友“horacezhou”投稿提供,下面小编为大家整理后的Linux系统中获取路径的文件名的方法,希望能帮助大家!
篇1:Linux系统中获取路径的文件名的方法
这篇文章主要介绍了Linux系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下
代码如下:
[root@dabu.info ]#basename /root/aaa/bbb/dabu.txt
显示:
代码如下:
dabu.txt #获取路径的文件名
shell脚本中如何获得脚本文件所在路径?
方法一:
代码如下:
[root@dabu.info ]#DIR=$(cd “$(dirname ”$0“)”; pwd)
[root@dabu.info ]#echo $DIR
但是像这种dirname “$0”这种写法,在遇到source命令时会得到错误的结果,
方法二:
代码如下:
[root@dabu.info ]#echo “$( cd ”$( dirname “${BASH_SOURCE[0]}” )“ && pwd )”
上面一行命令可以获得脚本的绝对轮径,无论你在何处调用这个脚本。
但是如果含有软链接,就无法使用了。所以,我们为了能正确解析指向脚本的软链接,可以使用下面的多行命令:
代码如下:
SOURCE=“${BASH_SOURCE[0]}”
while [ -h “$SOURCE” ]; do # resolve $SOURCE until the file is no longer a symlink
DIR=“$( cd -P ”$( dirname “$SOURCE” )“ && pwd )”
SOURCE=“$(readlink ”$SOURCE“)”
[[ $SOURCE != /* ]] && SOURCE=“$DIR/$SOURCE” # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR=“$( cd -P ”$( dirname “$SOURCE” )“ && pwd )”
也可与source,bash -c命令使用
但是,如果你在脚本中使用先cd切换到其他目录,在运行时上面的命令片段时,则上面的命令不能等到正确的结果,
可以参考关于$CDPATH 陷阱的文章。想理解它如何其作用的,可以运行下面的代码:
代码如下:
#!/bin/bash
SOURCE=“${BASH_SOURCE[0]}”
while [ -h “$SOURCE” ]; do # resolve $SOURCE until the file is no longer a symlink
TARGET=“$(readlink ”$SOURCE“)”
if [[ $SOURCE == /* ]]; then
echo “SOURCE ‘$SOURCE‘ is an absolute symlink to ‘$TARGET‘”
SOURCE=“$TARGET”
else
DIR=“$( dirname ”$SOURCE“ )”
echo “SOURCE ‘$SOURCE‘ is a relative symlink to ‘$TARGET‘ (relative to ‘$DIR‘)”
SOURCE=“$DIR/$TARGET” # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
fi
done
echo “SOURCE is ‘$SOURCE‘”
RDIR=“$( dirname ”$SOURCE“ )”
DIR=“$( cd -P ”$( dirname “$SOURCE” )“ && pwd )”
if [ “$DIR” != “$RDIR” ]; then
echo “DIR ‘$RDIR‘ resolves to ‘$DIR‘”
fi
echo “DIR is ‘$DIR‘”
篇2:linux中shell获取ssh端口号方法linux操作系统
利用shell获取ssh端口我还是第一次听说过了,不过有一个牛B的站长就是做到了,下面我把他写的shell获取ssh端口号方法给大家分享一下吧,希望文章对各位会带来帮助.
格,如下:
代码如下复制代码[root@MyVPS1697 07]# netstat -ntpl|grep sshd|grep -v grep |awk -F : '{print $4}'
为了解决空格问题,把我所在的3个运维群都问了一个遍,现在才知道人多力量大,好多热心的群友给我了几个解决办法,现在把他们给的shell语句发出来:
代码如下复制代码netstat -antp | grep sshd| awk -F “:” '{print $4}' | awk '{if($0 !~/^$/)print $0}'
netstat -ntlp|grep sshd |awk -F: '{if($4!=“”)print $4}'
netstat -ntlp|grep ^tcp |awk -F: '{if($4!=“”)print $4}'
netstat -ntlp | awk '!a[$NF]++ && $NF~/sshd$/{sub (“.*:”,“”,$4);print $4}'
netstat -antp | grep tcp| awk -F “:” '{print $4}' | awk '{if($0 !~/^$/)print $0}'
好了,就这几个吧,我也懒,不想再去翻聊天记录了,能够解决问题就可以了.
原文转自:blog.slogra.com/post-542.html 感谢站长
篇3:DirectAdmin 日志路径各种系统中查看方法Windows服务器操作系统
本文章收集了现在常用的系统中查看DirectAdmin 日志路径各种问题的解决办法,有需要了解的朋友可参考,
可以通过admin的Log Viewer来查看默认定义的几个日志文件。
也可以通过ssh来查看,日志文件的列表如下:
DirectAdmin:
/var/log/directadmin/error.log
/var/log/directadmin/errortaskq.log
/var/log/directadmin/system.log
/var/log/directadmin/security.log
Apache:
/var/log/httpd/error_log
/var/log/httpd/access_log
/var/log/httpd/suexec_log
/var/log/httpd/fpexec_log
/var/log/httpd/domains/domain.com.error.log
/var/log/httpd/domains/domain.com.log
/var/log/messages (generic errors)
Proftpd:
/var/log/proftpd/access.log
/var/log/proftpd/auth.log
/var/log/messages (generic errors)
PureFTPd:
/var/log/pureftpd.log
Dovecot and vm-pop3d:
/var/log/maillog
/var/log/messages
named (bind):
/var/log/messages
exim:
/var/log/exim/mainlog
/var/log/exim/paniclog
/var/log/exim/processlog
/var/log/exim/rejectlog
(on FreeBSD, they have “exim_” in front of the filenames)
mysqld:
RedHat:
/var/lib/mysql/server.hostname.com.err
FreeBSD and Debian:
/usr/local/mysql/data/server.hostname.com.err
crond:
/var/log/cron
通过如下命令查看日志文件:
less /var/log/filename
/var/log/filename 日志文件路径,如果日志太大你可以使用“tail”命令:
tail -n 30 /var/log/filename
查看日志文件的最后30行,
篇4:python在linux系统下获取系统内存使用情况的方法
作者:work24 字体:[增加 减小] 类型:
这篇文章主要介绍了python在linux系统下获取系统内存使用情况的方法,涉及Python在Linux平台下获取系统硬件信息的相关技巧,需要的朋友可以参考下
本文实例讲述了python在linux系统下获取系统内存使用情况的方法,分享给大家供大家参考。具体如下:
“”“Simple module for getting amount of memory used by a specified user‘s processes on a UNIX system.It uses UNIX ps utility to get the memory usage for a specified username and pipe it to awk for summing upper application memory usage and return the total.Python‘s Popen from subprocess module is used for spawning ps and awk.”“”import subprocessclass MemoryMonitor(object): def __init__(self, username): “”“Create new MemoryMonitor instance.”“” self.username = username def usage(self): “”“Return int containing memory used by user‘s processes.”“” self.process = subprocess.Popen(“ps -u %s -o rss | awk ‘{sum+=$1} END {print sum}‘” % self.username, shell=True, stdout=subprocess.PIPE, ) self.stdout_list = self.process.communicate()[0].split(‘\n‘) return int(self.stdout_list[0])
将上面的代码保存为:memorymonitor.py
调用方法如下:
from memorymonitor import MemoryMonitormemory_mon = MemoryMonitor(‘username‘)used_memory = memory_mon.usage()
希望本文所述对大家的Python程序设计有所帮助,
篇5:linux系统中nginx HTTP配置方法linux操作系统
在windows上折腾过nginx的HTTP基本验证,没有成功.这次换到centos服务器,顺手加上HTTP的一个验证功能,下面给大家分享一下,
首先安装htpasswd命令.
yum install httpd
1.打开站点配置文件
location / {
auth_basic “Admin Auth”;
auth_basic_user_file /usr/local/nginx/conf/proxy/pwd;
....
auth_basic为认证页面提示语,auth_basic_user_file 为密码认证文件
2.新建pwd文件,输入一对密码串 yourname:yourpass
用户名:密码
3.生成加密串
htpasswd /usr/local/nginx/conf/proxy/pwd yourname
4.重载或重启nginx,HTTP基本验证就生效了
篇6:linux系统中WordPress伪静态配置方法linux操作系统
NMP环境是目前我们国内站长使用的Linux VPS配置环境中使用较多的,作为新手我们很可能会看到笔者类似的”LNMP安装教程”然后依葫芦画瓢的去安装VPS。
L我们是否有发现环境中我们较为常用的wordpress伪静态不生效,内页出现404错误页面。这个问题很好解决,因为我们lnmp采用的是nginx,而不是apache,所以不如apache直接丢htaccess文件到网站根目录就可以生效伪静态。
首先,默认安装的lnmp环境中已经有伪静态文件wordpress.conf文件在”/usr/local/nginx/conf/wordpress.conf”中,我们可以核对一下里面的编译代码是不是为:
代码如下复制代码if (-f $request_filename/){
rewrite (.*) $1/ break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
如果不是,我们需要修改成上面的代码文件用来rewrite跳转伪静态,
其次,我们需要在属于我们网站的配置文件:
/usr/local/nginx/conf/vhost/www.***.org.conf(自己添加域名自动命名)
我们会看到类似下面的代码,看到粗线部分是我添加进去的,你就添加进去就可以:
代码如下复制代码server {
listen 80;
server_name www.111cn.net;
index index.html index.php;
include wordpress.conf;
最后,我们用ssh登录VPS,然后用下面的命令重启lnmp
/root/lnmp restart
执行上面三步骤之后,我们是不是已经解决了伪静态问题,其他常用的CMS也是一样的,在默认的conf下基本都包含我们所需要的CMS伪静态编译脚本。
篇7:linux系统中.htaccess 301重定向实现方法总结linux操作系统
linux系统中.htaccess 301重定向实现方法总结 有需要的朋友可参考一下本文章,
在设置 301 重定向之前务必备份相应目录下的.htaccess文件。.htaccess 301转向设置仅限于linux主机,并须要支持虚拟主机,上次试了重定向domain.com到www.domain.com,还真立即生效了
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
代码如下复制代码RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ www.domain.com/$1 [L,R=301]
2.重定向www.domain.com到domain.com
代码如下复制代码RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ domain.com/$1 [L,R=301]
3.重定向olddomain.com到www.newdomain.com
代码如下复制代码RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ www.newdomain.com/$1 [L,R=301]
4.重定向olddomain.com to newdomain.com
代码如下复制代码RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ newdomain.com/$1 [L,R=301]
5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
代码如下复制代码RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ www.otherdomain.com/otherfile/other.php [R=301,L]
如果是是WIN主机,看你的主机是否支持重定向,
如果支持,你的命名文件为:httpd.ini,代码为:
代码如下复制代码[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteEngine On
RewriteCond Host: ^nantongzufang.com$
RewriteRule (.*) www.nantongzufang.com$1 [I,R]
篇8:linux系统中VNC远程桌面安装和配置方法详解linux操作系统
本文章来给大家介绍linux系统中VNC远程桌面安装和配置方法详解,有需要了解的朋友可参考,这我里介绍的是在环境是CentOS-6.4-x86_64,使用VNC远程桌面后,用户可以使用客户端登陆linux的桌面,并且支持多人登陆操作。
具体方法
1.检查linux系统是否安装VNC命令rpm -q vnc-server
如果没有安装则使用yum install vnc vnc-server
2.启动vnc服务
代码如下复制代码vncserverYou will require a password to access your desktops.
Password:
Verify:
输入两次密码,这个就是你远程登陆时所需要的密码。
3.修改配置文件,root账户下
代码如下复制代码vi /etc/sysconfig/vncservers新加下面的配置
代码如下复制代码VNCSERVERS=”10000:root” #10000:root (桌面号:用户)VNCSERVERARGS[2]=”-geometry 1024×768 -nolisten tcp -localhost”
4.配置防火墙,允许10000+5900=15900端口通过防火墙访问桌面
代码如下复制代码vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 15900 -j ACCEPT
5.重启vnc服务和防火墙。
代码如下复制代码/etc/init.d/vncserver restart/etc/init.d/iptables restart
6.设置vnc的自启动
代码如下复制代码chkconfig vncserver on更改密码可以使用vncpasswd命令
上面是我的操作过程,后来从众生找到一篇图文的教程,大家不防参考一下
使用ssh软件连接到系统,使用命令vncserver启动vnc服务
首次使用vncserver会提示输入密码,然后重复输入一次(此处输入geisnic.com
作为密码,须记住此密码),回车出现下图提示:
此处记住dispay#,这里是feng:1,display#即为1.
在当前用户的主目录下打开文件.vnc/xstartup, 因为这里使用的是root用户,所以文件在/root目录下,打开文件后,注释掉所有的行,加入一行gnome-session & ,保存退出,
使用命令vncserver -kill :dispaly# 上面步骤中一说明了dispaly#的查看方法,这里为1,输入命令回车
再次使用命令vncserver重启服务
记住此处的dispaly#为1.
Vncserver默认端口是5900,此处在防火墙中开放此端口
vi /etc/sysconfig/iptables
找到下面的语句:
-A RH-Firewall-1-INPUT -j REJECT ——reject-with icmp-host-prohibited
在此行之前,加上下面的内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT
然后重启iptables服务:service iptables restart
即可。
在本地系统中打开软件vnc Viewer(vnc客户端),输入机器的Ip地址加上dispaly#
此处是 118.126.16.219:1
点确定,出现如下输入框,输入刚刚设置的密码geisnic.com
点确定即可登录至系统
设置vncserver开机自动启动:chkconfig vncserver on
★ 学习心得如何总结
★ php实习报告
★ 实例讲解在Linux下安装nvidia显卡驱动Linux
★ 学习计划软件
【Linux系统中获取路径的文件名的方法(共8篇)】相关文章:
网页设计实习报告2023-10-30
网页设计实习工作总结2022-11-26
安卓实习心得感悟2023-08-22
海事管理专业求职信2023-01-14
市场报告2022-06-20
如何保护Linux 网络安全2022-10-13
安全文明出行心得感悟2022-05-04
linux 操作技巧(二)Linux2022-05-17
公共卫生管理专业求职信2023-09-01
生产规章制度流程由什么岗位2023-08-03